Cod sursa(job #3368975)

Utilizator Andrei563Secara Andrei Tudor Andrei563 Data 16 octombrie 2026 19:52:42
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("branza.in");
ofstream fout ("branza.out");

int main ()
{
  int n,t;
  long long s;
  fin >> n >> s >> t;
  vector <long long> v(n+1);
  deque <int> dq;
  long long total=0;
  for (int i=1;i<=n;++i)
  {
    long long c,p;
    fin >> c >> p;
    v[i]=c-s*i;
    while (!dq.empty() && v[dq.back()]>=v[i])
      dq.pop_back();
    dq.push_back(i);
    while (dq.front()<i-t)
      dq.pop_front();
    total+=p*(v[dq.front()]+s*i);
  }
  fout << total;
}