Cod sursa(job #2627546)

Utilizator etohirseCristi Cretu etohirse Data 11 iunie 2020 12:12:43
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ull unsigned long long
#define vi vector<int>
#define test int t; cin>>t; while(t--)
#define yn cout<<"YES\n"
#define nn cout<<"NO\n"
#define nl cout<<"\n"
#define fisier 1
const double PI=3.14159265359;
const int MOD = 1e9 + 7;
const int NMAX = 1e5;

int32_t main(){
	#ifdef fisier
        ifstream cin("secv2.in");
        ofstream cout("secv2.out");
    #endif

	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	int n, k;
	cin >> n >> k;
	vi s(n + 5);
	s[0] = 0;
	for (int i = 1; i <= n; ++i){
		cin >> s[i];
		s[i] += s[i-1];
	}
	int st = 0, dr = 0,
	smax = LONG_MIN,
    smin = LONG_MAX;
    for (int i = k; i <= n; ++i)
    {
        if (smin > s[i-k])
        {
            smin = s[i-k];
            st = i - k + 1;
        }
        if (smax < s[i] - s[st - 1])
        {
            smax = s[i] - s[st - 1];
            dr = i;
        }
    }
	cout << st << " " << dr << " " << smax;
}