CSU-1008

来源:互联网 发布:java 构造函数返回值 编辑:程序博客网 时间:2024/05/16 14:52

测试数据:

10

0

0

1

1

0

0

0

1

1

0

答案:

10

#include <iostream>#include <stdio.h>#include <string.h>using namespace std;struct Node{int data;int count;}a[100005];int main(){int n;while(~scanf("%d",&n)){int sum=0;for(int i=0;i<n;i++){scanf("%d",&a[i].data);        if(i%2!=0&&a[i].data!=a[i-1].data){if(a[i].data==0)sum+=a[i-1].count+1;else sum-=a[i-1].count;            a[i].count=a[i-1].count+1+a[i-a[i-1].count-1].count;        }else {            if(a[i].data==0)sum++;            if(a[i].data==a[i-1].data)a[i].count=a[i-1].count+1;            else a[i].count=1;}}cout<<sum<<endl;}return 0;}

0 0
原创粉丝点击