Pagini recente » Cod sursa (job #307629) | Cod sursa (job #2015717) | Cod sursa (job #1154474) | Rating Muresan Adrian (adi_m) | Cod sursa (job #2009033)
#include<bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long long n,s,t;
long long sol;
struct branza
{
long long p,nr;
};
branza v[100002];
int main()
{
f>>n>>s>>t;
for(int i=1;i<=n;++i)
f>>v[i].p>>v[i].nr;
sol=v[1].p*v[1].nr;
int b=1;
int e=1;
int str=1;
while(e<=n)
{
if(v[b].p*v[e+1].nr+str*v[e+1].nr*s<=v[e+1].nr*v[e+1].p)
++e,sol+=v[b].p*v[e].nr+str*v[e].nr*s,++str;
else
++e,b=e,sol+=v[b].p*v[b].nr,str=1;
if(e-b>t)
++b,--str;
}
g<<sol<<'\n';
return 0;
}