Mai intai trebuie sa te autentifici.

Cod sursa(job #124314)

Utilizator alexeiIacob Radu alexei 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;
}