D.CSC的比赛技巧

因为n%3只有三种结果,0,1和2.当余数为0时,CSC可以做,ans++;当余数为1时,再找到一个余数为2就可以施展魔法,ans++;三个1也可以施展魔法,ans++;余数为2时同理

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
 int n,m,ans=0,tmp=0;
 int a[5]={};
 int main()
 {
     int x,y;
     cin>>n;
     a[1]=0;
     a[2]=0;
     ans=0;
     for(int i=1;i<=n;i++)     
     {   
         cin>>x;
         if(x%3)
         {
             x%=3;
             if(x==1)
                 a[1]++;
             else
                 a[2]++;
         }
         else
             ans++;
     }
     if(a[1]<=a[2])
     {
         ans+=a[1];
         a[2]-=a[1];
         ans+=a[2]/3;
     }
     else
     {
         ans+=a[2];
         a[1]-=a[2];
         ans+=a[1]/3;
     }
     cout<<ans<<endl;
     return 0;
 }

发表回复