天天看點

杭電1248寒冰王座問題,對比網上代碼,雖然AC了,但是代碼太過複雜了

#include<iostream>

#include<algorithm>

using namespace std;

int a[100000];

int main(){

int T;

cin>>T;

while(T--){

int t=0,fals=0;

int N,sign=0;

cin>>N;

int max=0,min=0,mid=0;

max=N/150;

mid=N/200;

min=N/350;

for(int i=max;i>=0;i--){

if(fals)break;

   for(int j=0;j<=max-i && j<=mid;j++){

    if(false)break;

      for(int k=0;k<=max-i-j && k<=min;k++){

    int temp=i*150+j*200+k*350;

      if(temp>N)break;

          else if(temp==N){fals=1;sign=N;break;

 }

 else {a[t++]=temp;

 }

}

}

}

if(sign)cout<<0<<endl;

else{

sort(a,a+t);

cout<<N-a[t-1]<<endl;

}

}

return 0;

}