Cod sursa(job #2650626)

Utilizator Darius1414Dobre Darius Adrian Darius1414 Data 19 septembrie 2020 15:43:28
Problema Carnati Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,c,i,j,s,v[2005],h[2005],p[2005],r,q,st,mx,y;
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];}
sort (p+1,p+1+n);
for (j=1;j<=n;j++)
{
    r=0;
    q=0;
    y=0;
    s=p[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 (y==0){r-=(h[i]-st+1)*c;y=1;}
            else r-=(h[i]-st)*c;
            if (r<=0)
            {
                q=0;
                r=0;
                y=0;
            }
            st=h[i];
            }
            if (r>mx) mx=r;
        }
    }
}
g<<mx;