Cod sursa(job #209197)

Utilizator katakunaCazacu Alexandru katakuna Data 21 septembrie 2008 12:36:28
Problema Branza Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>

struct branza {long long c,p;} b[100011];
long long j,ok,i,n,m,s,t,aux,N,M[100011],P[100011];
long long h[100011];

int main(){

FILE *f=fopen("branza.in","r");
fscanf(f,"%lld %lld %lld",&n,&s,&t);

  for(i=1;i<=n;i++){
  fscanf(f,"%lld %lld",&b[i].c,&b[i].p);
  P[i]=i;
  }
  
fclose(f);

M[1]=b[1].c;

   for(i=2;i<=n;i++){
   M[i]=b[i].c;
   
      for(j=i-1;j>=1;j--){

        if((i-j<=t)){

           if(M[i] > (b[j].c+s*(i-j))){
           M[i]=(b[j].c+s*(i-j));
           }

        }


      }
   }

long long sol=0;

    for(i=1;i<=n;i++)
    sol+=(b[i].p*M[i]);

FILE *g=fopen("branza.out","w");
fprintf(g,"%lld",sol);
fclose(g);

return 0;
}