wayne_wei @ 2024-07-12 15:12:24
1,3,5,6 WA
8,9,10,11,12,19,20 TLE
有老师,不敢看题解
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,maxa=0,a,b,c;
cin>>n;
for(int i=0;i<=(n/7);i++)
{
for(int j=0;j<=(n-i*7)/4;j++)
{
for(int k=0;k<=(n-i*7-j*4)/3;k++)
{
if(7*i+4*j+3*k==n)
{
int maxx=min(i,min(j,k));
if(maxx==maxa)
{
if(i+j+k>a+b+c)
{
a=i;
b=j;
c=k;
}
}
else if(maxx>maxa)
{
maxa=maxx;
a=i;
b=j;
c=k;
}
}
}
}
}
if(maxa==0)
{
cout<<"-1";
return 0;
}
cout<<a<<" "<<b<<" "<<c;
return 0;
}
by zimindaada @ 2024-07-12 15:27:54
首先你这玩意复杂度都不对,你自己本地运行,输入一下100000
铁超时。
想想真的有必要枚举k
吗,你这个题很可能都没看懂。
另外验证码maxd
纪念
by kczw @ 2024-07-12 15:28:55
@ABCgfed 而且感觉有点冗余了,不谈正确性的情况下
by wayne_wei @ 2024-07-12 15:45:18
@zimindaada
改后90,WA5,6