Pagini recente » Cod sursa (job #2197845) | Rating Popa Irina Mihaela (PopaIrina) | Cod sursa (job #2153074) | Cod sursa (job #1360733) | Cod sursa (job #2401832)
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
int n,x,l,nv,nm,sum,d,a;
vector <pair<int,int>> v;
void add(int A,int NM);
void print();
int main()
{
cin>>n>>x>>l;
v.push_back({0,0});
for(int i=1;i<=n;i++)
{
cin>>d>>a;
if(x>=d)
nm=(x-d)/max(1,l);
else nm=-1;
if(nm>=0)
add(a,nm);
}
int nv=0;
for(int i=1;i<=v[0].first;i++)
{
nv=log2(i);
if(v[i].second>=nv)
sum+=v[i].first;
}
cout<<sum<<'\n';
return 0;
}
void add(int A,int NM)
{
++v[0].first;
v.push_back({A,NM});
int poz=v[0].first;
while(poz/2>0 && (v[poz].first >v[poz/2].first ||(v[poz].first==v[poz/2].first && v[poz].second <v[poz/2].second) ))
{
swap(v[poz],v[poz/2]);
poz=poz/2;
}
}
void print()
{
cout<<v[0].first<<'\n';
for(int i=1; i<=v[0].first; i++)
cout<<v[i].first <<' '<<v[i].second <<" | ";
cout<<'\n';
cout<<" ]]] "<<'\n';
}