Cod sursa(job #67666)

Utilizator BloodRainBurceanu Gabriel BloodRain Data 25 iunie 2007 13:11:56
Problema Branza Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda Finala, Clasa a 10-a Marime 0.54 kb
#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;
}