这道题很简单,不知道为什么不是入门级的,通过率挺低的
呵呵
思路:先专门设一个变量,bool值如果是1就让这个变量自增,如果这个变量是1,3,7 30,420,365的话,ans加上它对应的等级,如果没到等级ans就不做改变。bool值是0就将变量清零。最后输出ans。输出是个鬼都知道。
注意:没什么好注意的,注意点,在思路里都说了。
代码:
#include<bits/stdc++.h>
using namespace std;
bool a[1000000];
int main()
{
int n,lv[6];
cin>>n;
for(int i=0;i<6;i++)
{
cin>>lv[i];
}
int ans=0,j=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(a[i]==1)
{
int w=0;//一定要定要赋值为零,不然就会加一个乱码。
j++;
if(j==1)
w=lv[0];
if(j==3)
w=lv[1];
if(j==7)
w=lv[2];
if(j==30)
w=lv[3];
if(j==120)
w=lv[4];
if(j==365)
w=lv[5];
ans+=w;
}
else
j=0;
}
cout<<ans;
return 0;
}