Cod sursa(job #3133441)

Utilizator octav1urleteanu octav1 Data 25 mai 2023 17:29:26
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Juniori s4 Marime 1.8 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
const int dir = 60005, poz = 60005 , koko = 500005;
bool ok = true;
int   k, max1, maxmin = - 30001, idk, n, w, x, nr = 1, nr2,  nr3;
int  v[dir], o[koko];
   short int l[poz];
   void pluss(int  v[],int  &k, int max1, short int l[], int &nr)
{
    k ++;
    v[k] = max1;
    l[k] = nr;
}
void minuss(  int &k, int &nr)
{
    k = k - 1;
    nr --;
}
int main()
{

   fin >> n >> w;
    fin >> o[1];
    max1 = o[1];
    pluss(v, k, max1, l, nr);
    for( int i = 2 ; i <= n ; i ++)
    {
        fin >> o[i];
        nr ++;
        if(i + w - 1 > n)int prost = 1;
    else
            {



        if(max1 < o[i])
        {
            max1 = o[i];
            pluss(v, k, max1, l, nr);
        }
            }
    }

    for(int i = k ; 1 <= i ; i --)
    { int prost = 0;
        ok = true;
        nr2 = l[i];
        if(nr2 + w - 1> n){ok = false; int prost = 1;}
        else {
        for(int j = 1 ; j < w ; j ++)
     {
nr2++;

            if(nr2 > n)
            {
                ok = false;
                break;
            }
            else
            {
                if(v[i] > o[nr2] && ok == true)
                {
                    ok = false;
                }
                if(maxmin < o[nr2] && v[i] > o[nr2])
                {
                    maxmin = o[nr2];
                    nr3 = l[i];
                }
             }



     }
       if(nr2 > n)ok = false;
        }
     if(prost == 1)ok = false;
       if(ok = true)
        {
            fout << l[i] << " " << l[i] + w - 1  << " " << v[i];
            return 0;
        }
    }
    fout << nr3 << " " << nr3 + w - 1<< " "<<maxmin;

    return 0;
}