Cod sursa(job #2706413)

Utilizator RohantayronEric Stanciu Matei Rohantayron Data 14 februarie 2021 20:12:41
Problema Carnati Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <algorithm>

using namespace std;
struct elem{
int t,p;
};
elem v[1500];
int main()
{
    ifstream cin("carnati.in");
    ofstream cout("carnati.out");
    int n,c,nrc,profm=-1,inc,sfaf,sfa,incf,i,contor,pret,profmm=0,maxp=0,j,jm;
    cin>>n>>c;

    for(i=1;i<=n;i++){
        cin>>v[i].t>>v[i].p;
        if(v[i].p>maxp)
            maxp=v[i].p;
    }

    for(j=1;j<=n;j++){
        inc=1;
        nrc=0;
        sfa=0;
        incf=1;
        profm=-1;
        pret=v[j].p;
        for(i=1;i<=n;i++){
            sfa=v[i].t;
            if(nrc*pret-(sfa-incf+1)*c<=0){
                inc=v[i].t;
                nrc=0;
            }
            if(v[i].p>=pret)
                nrc++;
            if(nrc*pret-(sfa-incf+1)*c>profm){
                sfaf=v[i].t;
                incf=inc;
                profm=nrc*pret-(sfa-incf+1)*c;
            }
        }
        if(profm>profmm){
            profmm=profm;
            jm=v[j].p;
        }
    }
    cout<<profmm;//<<" "<<jm;
    return 0;
}