Cod sursa(job #3324266)

Utilizator YannYann Spataru Yann Data 21 noiembrie 2025 20:46:04
Problema Carnati Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;
    ifstream cin("carnati.in");
    ofstream cout("carnati.out");
    int v[1501];
int main()
{
    int n,n2,c,k,maxx=0,s,t,p,inc;
    cin>>n>>c;
    for(n2=1;n2<=n;n2++) {
        cin>>t>>p;
        if(v[t]==0)
            v[t]=p;
        else
            v[t]=min(v[t],p);
    }
  /*  for(n2=1;n2<=1500;n2++) {
        v[n2]+=v[n2-1];
    }*/
    s=0;
    p=-1;
    inc=0;
    for(n2=0;n2<=1500;n2++) {
        if(s*p-(n2-inc+1)*c<0) {
            s=0;
            inc=n2;
        }
        if(v[n2]>0) {
            s++;
            if(p==-1)
                p=v[n2];
            else
                p=min(p,v[n2]);
        }
        if(s*p-(n2-inc+1)*c>maxx)
            maxx=s*p-(n2-inc+1)*c;
    }
    cout<<maxx;
    return 0;
}