POJ 2392

#include <iostream>
#include <algorithm>
#define MAXN 40005
using namespace std; struct node
{
int a;
int b;
int c;
}; node _m[]; bool mark[MAXN]; bool op(node a,node b); int main()
{
//freopen("acm.acm","r",stdin);
int n;
int i;
int j;
int k;
int max;
cin>>n; for(i = ; i < n; ++ i)
{
cin>>_m[i].a>>_m[i].b>>_m[i].c;
} memset(mark,false,sizeof(mark)); sort(_m,_m+n,op); mark[] = true; max = ; for(i = ; i < n; ++ i)
{
for(j = max; j >= ; -- j)
{
if(mark[j])
{
int tem;
for(k = ; k <= _m[i].c; ++ k)
{
tem = j + k*_m[i].a;
if(tem > _m[i].b)
{
break;
}
mark[tem] = true;
if(tem > max)
{
max = tem;
}
}
}
}
}
cout<<max<<endl; } bool op(node a,node b)
{
if(a.b < b.b)
{
return true;
}
return false;
}
上一篇:前后端分离项目,标准json协议格式参考


下一篇:python – app引擎会自动缓存频繁的查询吗?