Pagini recente » Cod sursa (job #3205929) | Cod sursa (job #804338) | Cod sursa (job #2819295) | Cod sursa (job #1680177) | Cod sursa (job #2781900)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin ("secventa.in");
ofstream fout("secventa.out");
ll n, k, ans, dr, mn, j=0, a[50001], cnt[50001];
set<ll> s;
string f;
int main() {
fin >> n >> k;
getline(fin, f);
getline(fin, f);
for(int i = 0; i < f.size(); i++) {
bool semn = 0;
if(f[i] == ' ') continue;
j++;
if(f[i] == '-') { semn = 1; i++; }
int m = 0;
while(f[i] >= '0' && f[i] <= '9') {
m = m * 10 + f[i] - '0';
i++;
}
if(semn) a[j] = -m;
else a[j] = m;
}
for(int i = 1; i <= k; i++) {
s.insert(a[i]);
cnt[a[i]]++;
}
ans = *s.begin();
dr = k;
for(int i = k + 1; i <= n; i++) {
s.insert(a[i]);
cnt[a[i]]++;
cnt[a[i - k]]--;
if(cnt[a[i - k]] == 0) s.erase(a[i - k]);
if(*s.begin() > ans) {
ans = *s.begin();
dr = i;
}
}
fout << dr - k + 1 << ' ' << dr << ' ' << ans << '\n';
}