Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int vals[300000][2];
- int memo[300000][2];
- long long ans;
- long long solve(int n, int k) {
- // compute and solve answer here
- for(int i = 0; i < n; i++) {
- for(int j = 0; j < 2; j++) {
- ans = 0;
- if (i == 0) {
- ans = vals[i][j];
- }
- else {
- ans = vals[i][j] + min(memo[i - 1][j], k + memo[i - 1][1 - j]);
- }
- memo[i][j] = ans;
- }
- }
- return min(memo[n - 1][0], memo[n - 1][1]);
- }
- int main() {
- int n, k, i, j;
- cin >> n >> k;
- for(i = 0; i < n; i++) {
- for(j = 0; j < 2; j++) {
- // use scanf to avoid TLE
- scanf("%d",&vals[i][j]);
- }
- }
- cout << solve(n,k) << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement