首页 > 代码库 > 计蒜之道第五场C题

计蒜之道第五场C题

稀里糊涂拖到了第五场……

最后倒在了自己脚下……

变量名打错了找不出bug……

人生还是真的尴尬呢……

 

 1 #include<bits/stdc++.h> 2 #define cl(a,b) memset(a,b,sizeof(a)) 3 #define debug(x) cerr<<#x<<"=="<<(x)<<endl 4 using namespace std; 5 typedef long long ll; 6 typedef pair<int,int> pii; 7  8 const int maxn=5e4+10; 9 10 int n,m;11 ll a[maxn],aa[maxn],bb[maxn];12 13 void init()14 {15     cl(aa,0),cl(bb,0);16     for(int i=1;i<=n;i++)17     {18         aa[i]=1ll*a[i]*a[i]*a[i]*a[i]*a[i]+aa[i-1];//最后这个aa打成了a19         bb[i]=1ll*a[i]*a[i]*a[i]+bb[i-1];20     }21 }22 23 int main()24 {25     cl(a,0);26     scanf("%d",&n);27     for(int i=1;i<=n;i++)28     {29         scanf("%lld",&a[i]);30     }31     init();32     scanf("%d",&m);33     while(m--)34     {35         int num;36         scanf("%d",&num);37         ll tmpa=0,tmpb=0;38         for(int i=1;i<=num;i++)39         {40             ll tmp;41             scanf("%lld",&tmp);42             tmpa+=tmp*tmp*tmp*tmp*tmp;43             tmpb+=tmp*tmp*tmp;44         }45         int ans=0;46         for(int j=1; j+num-1<=n; j++)47         {48             if(tmpa==aa[j+num-1]-aa[j-1]49              &&tmpb==bb[j+num-1]-bb[j-1])50             {51                 ans++;52             }53         }54         printf("%d\n",ans);55     }56     return 0;57 }/*58 59 560 2 3 1 3 261 362 463 3 2 1 364 265 1 366 267 3 268 69 */

 

计蒜之道第五场C题