蒟蒻不停的改,可是就是死活被#3卡QAQ
链接:https://www.luogu.com.cn/record/42195432
代码:
#include <cstdio>
#define T 5000010
bool vis[2][T];
int t,a,b;
int main()
{
scanf("%d%d%d",&t,&a,&b);
vis[0][0]=true;
for(int i=0;i<=t;i++)
{
if(i+a<=t)
{
vis[0][i+a]|=vis[0][i];
}
if(i+b<=t)
{
vis[0][i+b]|=vis[0][i];
}
}
for(int i=0;i<=t;i++)
{
if(i<=t/2)
vis[1][i]|=vis[0][i*2];
if(i+a<=t)
{
vis[1][i+a]|=vis[1][i];
}
if(i+b<=t)
{
vis[1][i+b]|=vis[1][i];
}
}
int mx=0;
for(int i=1;i<=t;i++)
if(vis[0][i]||vis[1][i])
mx=i;
printf("%d",mx);
return 0;
}