大家好,我是通灵学院的新生,今天克校长给我布置了这道题,可是我wa了两个点,校长很生气,求大佬救救蒟蒻
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long n,m;
long long k;
long long at[5];
long long use;
long long now;
long long re;
long long u,v;
long long ki[5000005];
int main(){
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;++i)
cin>>ki[i];
sort(ki+1,ki+1+n);
// cout<<ki[1];
for(long long i=1;i<=n;++i){
k=ki[i];
u=k%3;
if(u){
use=k/3;
now+=u;
}else{
use=k/3-1;
u=3;
now+=u;
}
at[u]++;
if(now>m){
long long v=now-m;
if(v==1){
if(at[1])
at[1]--;
}
if(v==2){
if(at[1]>1){
at[1]-=2;
}
else
if(at[1]==1)
at[1]--;
else if(at[2]==1)
at[2]--;
}
}
if(now>=m){
cout<<use<<" "<<(at[1]+at[2])+4*at[3]+use;
return 0;
}
}
cout<<"Human Cannot Win Dog";
return 0;
}