@[99999873654as7829](/user/1044851)
你写岔了啊
```cpp
cin>>a;
if(a>=1&&a<3) c++;
else c=0;
if(c==1) s+=v1;
```
这一段不对:
这个a的特判有问题,a只会是1或0,判a是否为真即可
c==2是你没考虑到,应该是把a和c的特判搞混了
略加修改即可
```cpp
#include<iostream>
using namespace std;
int main(){
int n,a,s=0,c=0;
int v1,v3,v7,v30,v120,v365;
cin>>n;
cin>>v1>>v3>>v7>>v30>>v120>>v365;
for(int i=1;i<=n;i++){
cin>>a;
if(a) c++;
else c=0;
if(c>=1&&c<3) s+=v1;
else if(c>=3&&c<7) s+=v3;
else if(c>=7&&c<30) s+=v7;
else if(c>=30&&c<120) s+=v30;
else if(c>=120&&c<365) s+=v120;
else if(c>=365) s+=v365;
}
cout<<s;
}
```
希望能帮到你 awa
by guohanyu20100507 @ 2024-04-21 16:38:49
emm... @[guohanyu20100507](/user/742902)
by 99999873654as7829 @ 2024-04-22 19:37:46