Cod sursa(job #1506596)

Utilizator mihai.alphamihai craciun mihai.alpha Data 20 octombrie 2015 20:16:24
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX 500003
int v[MAX];
int minim = -1;
int main(void) {
FILE *fin, *fout;
fin = fopen("secventa.in", "r");
fout = fopen("secventa.out", "w");
int n, k;
fscanf(fin, "%d", &n);
fscanf(fin, "%d", &k);
int i;
for(i = 0;i < n;i++)
    fscanf(fin, "%d", &v[i]);
int mini = 30003;
    int j;
     int ci, cf;//coordonata primului element minim
for(i = 0;i <= n - k;i++) {
    mini = 30003;
    for(j = i;j <i + k;j++) {
        if(v[j]<mini)
            mini=v[j];
    }
  //  printf("%d ", mini);
    if(mini>minim) {
        minim = mini;
        ci = i;//coordonata intitiala
        cf = i + k - 1;//coordonata finala
    }
    if(mini == minim) {
        if(i < ci) {
            ci = i;
            cf = i + k - 1;
            minim = mini;
        }
        else if(i  == ci && i +k -1<cf) {
            ci = i;
            cf = i +k- 1;
            minim = mini;
        }
    }
}
fprintf(fout, "%d %d %d", ci + 1, cf + 1, minim);
fclose(fin);
fclose(fout);
return 0;
}