Pagini recente » Cod sursa (job #456573) | Cod sursa (job #2961973) | Cod sursa (job #550447) | Cod sursa (job #2663311) | Cod sursa (job #635200)
Cod sursa(job #635200)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("gutui.in");
ofstream out("gutui.out");
const int N=100001;
struct gutuie{
int h,g;
}v[N];
int n,height,u,offset,rez,maxg;
bool comp(gutuie a,gutuie b){
if(a.h>b.h)
return true;
return false;
}
int main(){
int i;
in>>n>>height>>u;
for(i=1;i<=n;++i){
in>>v[i].h>>v[i].g;
}
offset=u;
sort(v+1,v+n+1,comp);
i=1;
while(i<=n){
if(v[i].h+offset<=height){
rez+=v[i].g;
i++;
maxg=0;
}
else{
maxg=0;
while(v[i].h+offset>height && v[i].g>maxg){
maxg=v[i].g;
i++;
}
rez+=maxg;
offset+=u;
}
}
out<<rez;
return 0;
}