CCF-CSP认证-201909-2小明种苹果(续)

题解如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;


int n, m;
int a[10001] = {0};
bool f[10001] = {false};

bool drop(int index){
    if(index == -1)
        index = n - 1;
    if(index == n)
        index = 0;
    return f[index];
}


int main(){
    int i, j, dropnum = 0, con = 0, temp, sum = 0;
    scanf("%d", &n);
    for(i = 0; i < n; i++){
        scanf("%d", &m);
        for(j = 0; j < m; j++){
            scanf("%d", &temp);
            if(temp <= 0)
                a[i] += temp;
            else{
                if(a[i] > temp){
                    if(!f[i]){
                        dropnum++;
                        f[i] = true;
                    }
                    a[i] = temp;
                }
                else
                    a[i] = temp;
            }
        }
        sum += a[i];
    }
    
    for(i = 0; i < n; i++){
        if(drop(i-1) && f[i] && drop(i+1))
            con++;
    }
    printf("%d %d %d\n", sum, dropnum, con);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容