func_code_string: #include <bits/stdc++.h>   using namespace std;   long long mas[200004];   long long mas2[200004];   struct ver {     long long abs;     int number;     long long maxabs;     int masnumber;     ver *l;     ver *r;   };   void build(ver *v, int l, int r, long long *m) {     if (l == r) {       v->abs = m[l];       v->number = l;       v->masnumber = l;       v->maxabs = m[l];     } else {       ver *a = new ver;       ver *b = new ver;       v->l = a;       v->r = b;       build(a, l, (l + r) / 2, m);       build(b, (l + r) / 2 + 1, r, m);       if (a->maxabs < b->maxabs) {         v->maxabs = b->maxabs;         v->masnumber = b->masnumber;       } else {         v->maxabs = a->maxabs;         v->masnumber = a->masnumber;       }     }   }   pair<long long, long long> maxver(ver *v, int l, int r, int zl, int zr) {     pair<long long, long long> answer;     answer.first = -100000;     answer.second = 0;     if (l > zr || r < zl)       return answer;     else {       if (zl <= l && r <= zr) {         answer.first = v->maxabs;         answer.second = v->masnumber;         return answer;       } else {         pair<long long, long long> left;         pair<long long, long long> right;         left = maxver(v->l, l, (l + r) / 2, zl, zr);         right = maxver(v->r, (l + r) / 2 + 1, r, zl, zr);         if (left.first < right.first)           return right;         else           return left;       }     }   }   int main() {     ver *root = new ver;     int n, k;     pair<long long, long long> answer;     long long maxans = 0;     answer.first = 0;     answer.second = 0;     cin >> n >> k;     for (int i = 1; i <= n; i++) cin >> mas[i];     for (int i = 0; i < 200004; i++) mas2[i] = 0;     for (int i = n - k + 1; i <= n; i++) mas2[n - k + 1] += mas[i];     for (int i = n - k; i >= 1; i--) mas2[i] = mas2[i + 1] + mas[i] - mas[i + k];     build(root, 1, n, mas2);     for (int i = 1; i <= n - 2 * k + 1; i++) {       pair<long long, long long> an = maxver(root, 1, n, i + k, n);       if (an.first + mas2[i] > maxans) {         maxans = an.first + mas2[i];         answer.first = i;         answer.second = an.second;       }     }     cout << answer.first <<     << answer.second;     return 0;   }   