Pagini recente » Cod sursa (job #494375) | Cod sursa (job #530226) | Cod sursa (job #2910182) | Cod sursa (job #668405) | Cod sursa (job #67666)
Cod sursa(job #67666)
#include<fstream.h>
int main()
{
struct zile
{
long p,q;
}z[100000];
long j,i,n,k,t,Cost=0,depozit;
int s;
ifstream in("branza.in");
in>>n>>s>>t;
for(i=1;i<=n;i++)
in>>z[i].p>>z[i].q;
in.close();
for(i=1;i<=n;i++)
{
Cost+=z[i].p*z[i].q;
j=i+1;
depozit=0;
while(j<=n&&j-i<=t&&z[i].p+s<z[j].p&&z[i].p*z[j].q+depozit<z[j].q*z[j].p)
{
depozit+=s*z[j].q;
j++;
}
k=i+1;
while(k<j)
{
Cost+=z[i].p*z[k].q+depozit;
depozit-=z[k].q*s;
k++;
}
i=j-1;
}
ofstream out("branza.out");
out<<Cost<<'\n';
out.close();
return 0;
}