Pagini recente » Cod sursa (job #1417629) | Cod sursa (job #228716) | Cod sursa (job #2983950) | Cod sursa (job #504971) | Cod sursa (job #755187)
Cod sursa(job #755187)
#include<fstream>
#include<queue>
#include<algorithm>
#define dim 1000000
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long s,i,n,c,p,t,cm;
long long cost;
priority_queue < pair<long , long>, vector<pair<long,long> > , greater<pair<long, long> > > Q;
long long min(long long a,long long b){
if(a<b)
return a;
return b;
}
int main (){
f>>n>>s>>t;
cost=0;
for( i = 0 ; i < n; ++i ) {
f>>c>>p;
if(!Q.empty() && Q.top().second<i-t)
Q.pop();
if(!Q.empty())
cm=min(Q.top().first+(long long)s*i,c);
else
cm=c;
Q.push(make_pair(c-(long long)s*i,i));
cost+=(long long )cm*p;
}
g<<cost<<"\n";
return 0;
}