Cod sursa(job #2650635)

Utilizator Darius1414Dobre Darius Adrian Darius1414 Data 19 septembrie 2020 16:09:23
Problema Carnati Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define nmax 2005
using namespace std;

int v[nmax], h[nmax], p[nmax];

int n,c,i,j,s,r,q,st,mx;

int main()
{
    ifstream f ("carnati.in");
    ofstream g ("carnati.out");
    f>>n>>c;
    for (i=1;i<=n;i++) {
        f>>h[i]>>v[i];
        p[i]=v[i];
    }
    for (j=1;j<=n;j++)
    {
        r=0;
        q=0;
        s=v[j];
        for (i=1;i<=n;i++) {
            if (v[i]>=s) {
                if (q==0) {
                    r+=s;
                    st=h[i];
                    q=1;
                }
                else {
                    r+=s;

                    if (r<=0) {
                        q=0;
                        r=0;
                    }
                }
                int r_val = r - (h[i] - st + 1) * c;
                if (r_val > mx)
                    mx = r_val;
            }
        }
    }
    g<<mx;
}