Cod sursa(job #742277)

Utilizator desoComan Andrei deso Data 29 aprilie 2012 13:01:43
Problema Secventa Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <vector>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <string>
#include <set>
using namespace std;

#define LL long long
#define FORit(it,x) for (__typeof((x).begin()) it = (x).begin(); it != (x).end(); ++it)
#define INFILE "secventa.in" 
#define OUTFILE "secventa.out"

int v[500001];

int main() {
   freopen(INFILE, "r", stdin);
   freopen(OUTFILE, "w", stdout);

   int n, k;
   cin >> n >> k;
   multiset<int> s;
   for(int i=0; i<k; i++) {
      scanf("%d", &v[i]);
      s.insert(v[i]);
   }

   int minv = *(s.begin()), is = 0, ie = k-1;
   for(int i=k; i<n; i++) {
      cin >> v[i];
      s.erase( s.find(v[i-k]));
      s.insert(v[i]);
      if( *(s.begin()) > minv ) {

         minv = *(s.begin());
         is = i - k + 1;
         ie = i;
      }
   }

   cout << is+1 << " " << ie+1 << " " << minv << "\n";

   return 0;
}