Mai intai trebuie sa te autentifici.
Cod sursa(job #124314)
Utilizator | Data | 18 ianuarie 2008 20:19:22 | |
---|---|---|---|
Problema | Branza | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.99 kb |
#include<stdio.h>
#define nmax 100001
long long c[nmax],p[nmax],m[nmax],deque[nmax],sol;
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
int n,s,t,incr;
scanf("%d%d%d",&n,&s,&t);
int i;
for(i=1; i<=n; ++i)
scanf("%lld%lld",&c[i],&p[i]);
for(i=1; i<=n; ++i)
deque[i]=c[i]+(n-i)*s;
incr=1;
int aux;
m[1]=c[1];
for(i=2; i<=n; ++i)
{
aux=i-incr;
if(aux>t)
++incr;
if(deque[incr]-(n-i)*s<c[i])
m[i]=deque[incr]-(n-i)*s;
else{
m[i]=c[i];
incr=i; }
}
for(i=1; i<=n; ++i){
sol+=m[i]*p[i];;}
printf("%lld",sol);
return 0;
}