Cod sursa(job #1643788)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 9 martie 2016 20:15:54
Problema Secventa Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
    ifstream fin ("secventa.in");
    ofstream fout ("secventa.out");
    int n,k;
    fin>>n>>k;
    signed int v[n],mn=-30002,mx=-30002;
    for (int i=0;i<n;++i)
    {
        fin>>v[i];
        if (i>=k-1)
        {
            mn=v[i];
            for (int j=i;j>= i-k+1;--j)
            {
                if (mn>v[j] && mn-v[j]>0 && v[j]-mn<0)
                {
                    mn=v[j];
                }
            }
            if (mx<=mn)
        {
            mx=mn;
        }
        }
    }
    int x1,x2;
    for (int i=0;i<n;++i)
    {
        if (v[i]==mx)
        {
            x1=i;
            x2=i;
            while (v[x1-1]>=mx && x1>0)
            {
                x1--;
            }
            while (v[x2]>=mx && x2<n)
            {
                x2++;
            }
            if (x2-x1>=k || x1-x2>=k)
            {
                fout<<x1+1<<" "<<x2<<" "<<mx;
                break;
            }
        }
    }
}