Pagini recente » Cod sursa (job #1936392) | Cod sursa (job #1331883) | Cod sursa (job #155779) | Cod sursa (job #1805414) | Cod sursa (job #478686)
Cod sursa(job #478686)
#include <fstream>
using namespace std;
struct plasa{long long timp,peste;} a[1<<16];
long long n,k,t,r[1<<10],v[1<<16];
ifstream in("peste.in");
ofstream out("peste.out");
bool cmp(plasa a,plasa b)
{
return a.peste>b.peste;
}
int main()
{
int i,j,q;
in>>n>>k>>t;
for (i=1;i<=n;i++)
in>>a[i].peste>>a[i].timp;
sort(a+1,a+n+1,cmp);
for (i=1;i<=1000;i++)
for (j=q=1,r[i]=0;j<=n && q<=k;j++)
if (a[j].timp<=i)
{
r[i]+=a[j].peste;
q++;
}
for (i=1;i<=t;i++)
{
v[i]=0;
for (j=min(i,1000)-1;j>=0;j--)
v[i]=max(v[i],v[j]+r[i-j]);
}
out<<v[t]<<"\n";
return 0;
}