Cod sursa(job #124318)

Utilizator alexeiIacob Radu alexei Data 18 ianuarie 2008 20:25:21
Problema Branza Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<fstream>
#define nmax 100001

unsigned long long c[nmax],p[nmax],m[nmax],deque[nmax],sol;

using namespace std;
int main()
{
  //  freopen("branza.in","r",stdin);
  //  freopen("branza.out","w",stdout);
    ifstream f("branza.in");
    ofstream g("branza.out");
    
long long n,s,t,incr;   
    
 f>>n>>s>>t;
 int i;
 for(i=1; i<=n; ++i)
 f>>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];}
                      
                       g<<sol;  
    return 0;
}