Pagini recente » Cod sursa (job #1146) | Cod sursa (job #1187) | Cod sursa (job #1558740) | Cod sursa (job #1776965) | Cod sursa (job #755093)
Cod sursa(job #755093)
#include<fstream>
#include<queue>
#include<algorithm>
#define dim 1000000
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int cost,s,i,n,t,cm;
long long c,p;
priority_queue < pair<int, int>, vector<pair<int,int> > , greater<pair<int, int> > > Q;
long long min(long long a,long long b){
if(a<b)
return a;
return b;
}
int main (){
f>>n>>s>>t;
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+s*i,c);
else
cm=c;
Q.push(make_pair(c-s*i,i));
cost+=(long long )cm*p;
}
g<<cost<<"\n";
return 0;
}