Cod sursa(job #1358284)

Utilizator acomAndrei Comaneci acom Data 24 februarie 2015 15:19:32
Problema Carnati Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
vector <int> V,T[1505];
int n,c,x,y,s,smax,m=1505,M;
int main()
{
    int i,j,k,nr;
    fin>>n>>c;
    for (i=1;i<=n;++i)
    {
        fin>>x>>y;
        V.push_back(y);
        T[x].push_back(y);
        m=min(m,x), M=max(M,x);
    }
    sort(V.begin(),V.end());
    for (k=0;k<n;++k)
    {
        s=0;
        for (i=m;i<=M;++i)
        {
            nr=0;
            for (j=0;j<T[i].size();++j)
                if (V[k]<=T[i][j])
                    ++nr;
            if (s>=0)
                s+=V[k]*nr-c;
            else
                s=V[k]*nr-c;
            smax=max(s,smax);
        }
    }
    fout<<smax<<"\n";
    return 0;
}