Rn_Lamsuly @ 2020-05-24 20:28:29
#include<bits/stdc++.h>
using namespace std;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
int main()
{
int n;
int a=-1,b=-1,c=-1;
n=read();
if(n==0){
cout<<0<<' '<<0<<' '<<0;
return 0;
}
if(n<3){
cout<<-1;
return 0;
}
if(n%14==0){
cout<<n/14<<' '<<n/14<<' '<<n/14;
return 0;
}
for(register int i=0;i*7<=n;i++)
{
for(register int j=0;j<=(n-7*i)/4;j++)
{
for(register int k=0;k<=(n-((n-7*i)/4))/3;k++)
{
if(7*i+j*4+3*k!=n)continue;
if(min(i,min(j,k))>min(a,min(b,c)))
{
a=i;
b=j;
c=k;
}
if(i+j+k>a+b+c&&min(i,min(j,k))==min(a,min(b,c)))
{
a=i;
b=j;
c=k;
}
}
}
}
if(a==-1&&b==-1&&c==-1)cout<<-1;
else cout<<a<<' '<<b<<' '<<c;
return 0;
}
by Na2PtCl6 @ 2020-05-24 21:53:15
min
函数手写
by Na2PtCl6 @ 2020-05-24 21:53:40
你这根本不叫极限
by Na2PtCl6 @ 2020-05-24 21:57:31
头文件前面还要加上
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
by Rn_Lamsuly @ 2020-05-25 13:37:03
谢谢各位大佬对我这么个蒟蒻的关心 orz
by lcyxds @ 2021-04-18 07:09:37
@肾小囊190350 你这复杂度都不对卡个锤子常。。。
正解
by 崛起的滑稽 @ 2022-10-05 17:02:55
没极限。。*4可以改成<<2,cout<<改成快出,其他的我不知道了
by 崛起的滑稽 @ 2022-10-05 17:03:32
@崛起的滑稽 而且时间复杂度太高了
by ZGSZ_AviationLover @ 2023-08-20 00:25:20
@Na2PtCl6 你谷是online judge,在线判题系统,不能手动开启,只能在提交那勾选一下"O2优化",不然会