题解 | 数组计数维护

数组计数维护

https://www.nowcoder.com/practice/47ee4c040f1648fc9ef7732d35402676

#include <stdio.h>

int main() {
    int T;
    scanf("%d", &T);  

    for (int t = 0; t < T; t++) {
        int n, k, cnt = 0, S = 0;
        scanf("%d %d", &n, &k);  

        int arr[n];  
        for (int i = 0; i < n; i++) {
            scanf("%d", &arr[i]);  
        }

        for (int i = 0; i < n; i++) {
            if (arr[i] >= k) {
                S += arr[i];  
            } else if (arr[i] == 0 && S >= 1) {
                S--;  
                cnt++;  
            }
        }

        printf("%d\n", cnt);  
    }

    return 0;
}

全部评论

相关推荐

水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务