Cod sursa(job #1793656)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 31 octombrie 2016 12:25:03
Problema Secventa Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>

using namespace std;

int MIN (int a[500001], int x, int y);

int N, K;
int a[500001];

int solu[1000001], lef[1000001], rig[1000001];
int i, j, v;
bool ok;

int lt, rt, sol;

int main ()
{
    ifstream fin ("secventa.in");
    fin >> N >> K;
    for (i=1; i<=N; i++)
        fin >> a[i];
    fin.close();
    for (i=1; i<=N-K+1; i++)
        for (j=i; j<=i+K; j++)
            if (j == i+K-1)
            {
                solu[++v] = MIN(a,i,j);
                lef[v] = i;
                rig[v] = j;
            }
    sol = solu[1];
    for (i=2; i<=v; i++)
        if (solu[i] > sol)
        {
            sol = solu[i];
            lt = lef[i];
            rt = rig[i];
        }
    ofstream fout ("secventa.out");
    fout << lt << ' ' << rt << ' ' << sol;
    fout.close();
    return 0;
}

int MIN (int a[500001], int x, int y)
{
    int i, minim;
    minim = a[x];
    for (i=x+1; i<=y; i++)
        if (a[i] < minim)
            minim = a[i];
    return minim;

}