Pagini recente » Cod sursa (job #1202358) | Cod sursa (job #2575807) | Cod sursa (job #319700) | Cod sursa (job #1883163) | Cod sursa (job #3239704)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long long n,s,t,pret,i,c,p;
struct sap{
long long p,z;
};
deque <sap> brz;
int main()
{
fin>>n>>s>>t;
for(i=1;i<=n;i++){
fin>>p>>c;
while(!brz.empty() && i - brz.front().z > t)
brz.pop_front();
while(!brz.empty() && c * p <= c * (brz.front().p + (i - brz.front().z) * s))
brz.pop_front();
if(!brz.empty())
pret += c * (brz.front().p + (i - brz.front().z) * s);
else
pret += c * p;
brz.push_back({p,i});
}
fout<<pret;
return 0;
}