Pagini recente » Cod sursa (job #1685713) | Monitorul de evaluare | Cod sursa (job #681520) | Cod sursa (job #1554331) | Cod sursa (job #166302)
Cod sursa(job #166302)
#include <stdio.h>
#include <stdlib.h>
long n,k,T,i,j,v[50024];
long tmax,max,q,l;
long a[1024],p[50024],t[50024],ind[50024];
int comp(const void * n1, const void *n2){
return (p[*((long*)n2)]-p[*((long*)n1)]);
}
int main(){
freopen("peste.in","r",stdin);
freopen("peste.out","w",stdout);
scanf("%ld %ld %ld",&n,&k,&T);
tmax=0;
for (i=1;i<=n;++i){
scanf("%ld %ld",&p[i],&t[i]);
if (t[i]>tmax)tmax=t[i];
ind[i]=i;
}
qsort(ind+1,n,sizeof(long),comp);
for (j=1;j<=tmax;++j){
a[j]=0;
q=0;i=0;
while(q<k&&i<n){
++i;
if (t[ind[i]]<=j){a[j]+=p[ind[i]];++q;}
}
}
/*
for (i=0;i<T;++i){
l=(T-i<tmax)?T-i:tmax;
for (j=1;j<=l;++j)
if (v[i]+a[j]>v[i+j])v[i+j]=v[i]+a[j];
}
max=0;
for (i=1;i<=T;++i)
if (max<v[i])max=v[i];
printf("%ld\n",max);
*/
return 0;
}