Cod sursa(job #2402190)

Utilizator sichetpaulSichet Paul sichetpaul Data 10 aprilie 2019 14:14:02
Problema Carnati Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <algorithm>
#define DIM 2005
using namespace std;
struct product{
  int t,x;
};
product v[DIM];
bool cmp(product a,product b) {
   if (a.t==b.t) return a.x<b.x;
   return a.t<b.t;
}
int main()
{   int n,k,i,j,ans=0,last;
    ifstream f("carnati.in");
    ofstream g("carnati.out");
    f>>n>>k;
    for (i=1;i<=n;++i)
        f>>v[i].t>>v[i].x;

    sort(v+1,v+n+1,cmp);

    for (i=1;i<=n;++i) {
        int sum=0,nr=0;
      for (j=1;j<=n;++j)
         if (v[j].x>=v[i].x) {
              ++nr;
              if (nr==1) sum=v[i].x-k;
              else sum=max(v[i].x-k,sum+v[i].x-k*(v[j].t-v[last].t));

              last=j;
              ans=max(ans,sum);
         }
    }

       g<<ans<<'\n';

    return 0;
}