Cod sursa(job #1148043)

Utilizator andreeadeacAndreea Ioana Deac andreeadeac Data 20 martie 2014 13:12:53
Problema Carnati Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
using namespace std;

ifstream f("carnati.in");
ofstream g("carnati.out");

struct client {
    int p, t;
}a[2001];

int n,c;

int main()
{
    int i,j,end,s,max=-1,best,ind,cod;
    f>>n>>c;
    for(i=1;i<=n;i++)
        f>>a[i].t>>a[i].p;
    for(i=1;i<=n;i++){
        s=0;
        best=-1;
        end=1;
        for(j=1;j<=n;j++){
            if(s<0){
                s=0;
                end=j;

            }
            if(a[j].p >= a[i].p)
                s =s + a[i].p;
            if(end==j)
                s =s-c;
            else{
                //if(end==j-1)
                //    s=s+c;
                s =s - (a[j].t-a[j-1].t)*c;
            }
            if(s>best)
                best=s;
             //g<<s<<" ";
        }
        if(best>max){
            max=best;
            ind=i;
        }
        //g<<"\n";
    }
    g<<max<<"\n";
    return 0;
}