Cod sursa(job #2651208)

Utilizator tudorbuhniaTudor Buhnia tudorbuhnia Data 21 septembrie 2020 19:10:40
Problema Carnati Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;
int v[2005],h[2005],res,c=0,cp,timp,n;
int ssm(int sum)
{
    res=-2147483648;
    timp=h[0]-1;
    c=0;
    for(int i=0; i<n; i++)
    {
        c=c-(h[i]-timp)*cp;
        timp=h[i];
        if(v[i]>=sum)
            c=c+sum;
        if(res<c)
            res=c;
        if(c<0)
        {
            timp=h[i+1]-1;
            c=0;
        }
    }
    return res;
}
int main()
{
    ifstream cin("carnati.in");
    ofstream cout("carnati.out");
    int rmax=-2147483648;
    cin >> n >> cp;
    for(int i=0;i<n;i++)
        cin >> h[i] >> v[i];
    for(int i=0;i<n;i++)
    {
        if(ssm(v[i])>rmax)
            rmax=ssm(v[i]);
    }
    cout << rmax;
    return 0;
}