Cod sursa(job #3240977)

Utilizator divadddDavid Curca divaddd Data 24 august 2024 18:17:34
Problema Branza Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int NMAX = 1e5+2;
int n,s,t,c[NMAX],p[NMAX],dp[NMAX];

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

void minSelf(int &a, int b){
  a = min(a, b);
}

signed main()
{
  fin >> n >> s >> t;
  for(int i = 1; i <= n; i++){
    fin >> c[i] >> p[i];
    dp[i] = c[i];
  }
  int ans = 0;
  for(int i = 1; i <= n; i++){
    for(int j = max(1ll, i-t); j <= i-1; j++){
      minSelf(dp[i], c[j] + (i - j) * s);
    }
    ans += p[i] * dp[i];
  }
  fout << ans;
  return 0;
}