Pagini recente » Istoria paginii runda/oji_andrei2/clasament | Cod sursa (job #249546) | Istoria paginii runda/infinity-2022-7/clasament | Cod sursa (job #105714) | Cod sursa (job #296543)
Cod sursa(job #296543)
#include<iostream.h>
#include<stdio.h>
long long n,x,l,d[20000],a[20000],i,lana,ok=1,ord,aux,max,j,lana2,dd[2000],aa[2000];
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
cin>>n>>x>>l;
for(i=1;i<=n;i++)
{
cin>>d[i]>>a[i];
dd[i]=d[i];
aa[i]=a[i];
}
do
{
ord=1;
for(i=1;i<n;i++)
if(d[i]<d[i+1])
{
aux=a[i+1];
a[i+1]=a[i];
a[i]=aux;
aux=d[i+1];
d[i+1]=d[i];
d[i]=aux;
ord=0;
}
}while(ord==0);
do
{
ok=1;
for(i=1;i<=n;i++)
{
if(d[i]<=x&&a[i]!=0)
{
lana2=lana2+a[i];
a[i]=0;
ok=0;
break;
}
}
for(i=1;i<=n;i++)
d[i]=d[i]+l;
}while(ok==0);
do
{
ord=1;
for(i=1;i<n;i++)
if(aa[i]<aa[i+1])
{
aux=aa[i+1];
aa[i+1]=aa[i];
aa[i]=aux;
aux=dd[i+1];
dd[i+1]=dd[i];
dd[i]=aux;
ord=0;
}
}while(ord==0);
do
{
ok=1;
for(i=1;i<=n;i++)
{
if(dd[i]<=x&&aa[i]!=0)
{
lana=lana+aa[i];
aa[i]=0;
ok=0;
break;
}
}
for(i=1;i<=n;i++)
dd[i]=dd[i]+l;
}while(ok==0);
if(lana2<lana)
cout<<lana;
else
cout<<lana2;
}