Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // И.cpp: определяет точку входа для консольного приложения.
- //
- //#include "stdafx.h"
- #include <iostream>
- #include <cmath>
- #include <iomanip>
- #include <algorithm>
- #include <cstdlib>
- #include <map>
- #include <string>
- #include <set>
- #include <vector>
- using namespace std;
- long long a[1000010], d[1000010];
- map <long long, long long> b;
- int main()
- {
- ios::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- long long n, data;
- cin >> n;
- for (int i = 0; i < n; i++)
- {
- cin >> data;
- b[data] = -1;
- a[i] = data;
- }
- d[0] = 0;
- for (int i = 1; i < n; i++)
- d[i] = d[i - 1] + a[i];
- long long ans = -1e15, ansl, ansr;
- for (int i = 0; i < n; i++)
- {
- if (a[i] > ans)
- {
- ans = a[i];
- ansl = i;
- ansr = i;
- }
- if (b[a[i]] == -1)
- b[a[i]] = i;
- else
- if (ans < -d[b[a[i]]] + d[i] + a[b[a[i]]])
- {
- ans = -d[b[a[i]]] + d[i] + a[b[a[i]]];
- ansl = b[a[i]];
- ansr = i;
- }
- }
- if (ans != -1e15)
- {
- cout << ans << endl << ansl + 1 << ' ' << ansr + 1 << endl;
- }
- //system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement