20分求助
查看原帖
20分求助
152053
jiunianqing楼主2021/8/16 17:25
#include<bits/stdc++.h>
using namespace std;
int jishu1=0,jishu0=0,sum=0,n,a[1009];
int weidaka(int i){
	if(i==1){
		return 1;
	}
	int sum=2;
	for(int j=2;j<=i-1;j++){
		sum=sum*2;
	}
	return sum;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]==1){
			jishu1-=weidaka(jishu0);
			if(jishu1<0){
				jishu1=0;
			}
			jishu1++;
			if(1<=jishu1&&jishu1<3){
				sum+=1;
			}else if(3<=jishu1&&jishu1<7){
				sum+=2;
			}else if(7<=jishu1&&jishu1<30){
				sum+=3;
			}else if(30<=jishu1&&jishu1<120){
				sum+=4;
			}else if(120<=jishu1&&jishu1<365){
				sum+=5;
			}else if(365<=jishu1){
				sum+=6;
			}
			jishu0=0;
		}else if(a[i]==0){
			jishu0++;
		}
	}
	cout<<sum;
	return 0;
}
2021/8/16 17:25
加载中...