Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- typedef long long ll;
- using namespace std;
- int a[3][200002];
- int n; ll ret = (1 << 22);
- /*
- 4
- 13 7 5
- 7 13 6
- 14 3 12
- 15 6 16
- 0
- */
- ll solve(int x, int y){
- if (x == 1 && y == n - 1){
- return a[x][y];
- }
- else if (x<0 || x>2 || y >= n)return (1<<22);
- ret = min(a[x][y] + solve(x + 1, y), ret);
- ret = min(a[x][y] + solve(x + 1, y + 1), ret);
- ret = min(a[x][y] + solve(x - 1, y + 1), ret);
- ret = min(a[x][y] + solve(x, y + 1),ret);
- return ret;
- }
- int main(){
- while (1)
- {
- cin >> n;
- if (n== 0)return 0;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- cin >> a[j][i];
- }
- }
- cout << solve(1, 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement