Cod sursa(job #3365835)

Utilizator mihaidavidgabrielDavid Mihai Gabriel mihaidavidgabriel Data 26 septembrie 2026 12:52:51
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include<bits/stdc++.h>

using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

int main()
{
	int n,k;
	fin >> n >> k;
	static int v[500005];
	for(int i=1;i<=n;i++)
        fin >> v[i];
	static int stanga[500005],dreapta[500005];
	for(int i=1;i<=n;i++)
        {
            if(i%k==1)
                stanga[i]=v[i];
            else
                stanga[i]=min(stanga[i-1],v[i]);
        }
	for(int i=n;i>=1;i--)
        {
            if(i==n || i%k==0)
                dreapta[i]=v[i];
            else
                dreapta[i]=min(dreapta[i+1],v[i]);
        }
	int max_dif=INT_MIN,best_st=1,best_dr=k;
	for(int i=1;i<=n-k+1;i++)
        {
            int j=i+k-1;
            int minim=min(dreapta[i],stanga[j]);
            if(minim>max_dif)
                {
                    max_dif=minim;
                    best_st=i;
                    best_dr=j;
                }
        }
	fout << best_st << " " << best_dr << " " << max_dif << "\n";
	return 0;
}