Pagini recente » Cod sursa (job #2153690) | Cod sursa (job #1817536) | Cod sursa (job #1193691) | Cod sursa (job #3291097) | Cod sursa (job #1149738)
#include <fstream>
using namespace std;
fstream f("lupu.in",ios::in);
fstream g("lupu.out",ios::out);
const long nmax=100005;
long n,x,l,a[nmax],t[nmax],tmax,el,fol[nmax],i,t1;
long long sol;
void quickSort(long li,long ls)
{
long i=li,j=ls,aux;
long pivot=a[(i+j)/2];
while (i<=j)
{
while (a[i]>pivot) i++;
while (a[j]<pivot) j--;
if (i<=j)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=t[i];
t[i]=t[j];
t[j]=aux;
i++;j--;
}
}
if (li<j) quickSort(li,j);
if (i<ls) quickSort(i,ls);
}
void read()
{
f>>n>>x>>l;
for (i=1;i<=n;i++)
{
f>>t1>>a[i];
t[i]=(x-t1)/l+1;
if (t[i]>tmax) tmax=t[i];
}
}
void solve()
{
quickSort(1,n);
el=0;
for (i=1;i<=n;i++)
{
if (t[i]-el>0) {
sol=sol+a[i];
el++;
}
if (el==tmax) break;
}
g<<sol;
}
int main()
{
read();
solve();
return 0;
}