Cod sursa(job #2477696)

Utilizator Simon2712Simon Slanina Simon2712 Data 20 octombrie 2019 22:47:11
Problema Carnati Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
struct ura{
  int t,p;
};
ura v[2001];
bool cmp(ura a,ura b)
{
  if(a.t<b.t)
    return true;
  return false;
}
int main()
{
  int n,pv,i,j,s,sm=0,last;
  cin>>n>>pv;
  for(i=1;i<=n;i++)
  {
    cin>>v[i].t>>v[i].p;
  }
  sort(v+1,v+n+1,cmp);
  for(i=1;i<=n;i++)
  {
    last=0;
    s=0;
    for(j=1;j<=n;j++)
    {
      if(v[j].p>=v[i].p)
      {
        if(last==0)
          s+=v[i].p-pv;
        else
          s+=v[i].p-pv*(v[j].t-last);
        if(s<0)
        {
          s=0;
          last=0;
        }
        else
        {
          last=v[j].t;
          sm=max(s,sm);
        }
      }
    }
  }
  cout<<sm;
  return 0;
}