Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <vector>
- using namespace std;
- int main()
- {
- int n;
- ifstream in("input.txt");
- ofstream out("output.txt");
- in >> n;
- vector<vector<pair<int, int> > > d(n, vector<pair<int, int> >(n, pair<int, int>(0, 0)));
- vector<int> a(n);
- for (size_t i = 0; i < n; in >> a[i], d[i][i].first = a[i++]);
- for (int j = 1; j < n; ++j)
- {
- for (int i = j - 1; i >= 0; --i)
- {
- pair<int, int> v1(a[j] + d[i][j - 1].second, d[i][j - 1].first), v2(a[i] + d[i + 1][j].second, d[i + 1][j].first);
- d[i][j] = max(v1, v2);
- }
- }
- if (d[0][n - 1].first == d[0][n - 1].second)
- {
- out << '0' << endl;
- } else {
- out << (d[0][n - 1].first > d[0][n - 1].second ? '1' : '2') << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment