Pagini recente » Cod sursa (job #480902) | Cod sursa (job #1850373) | Cod sursa (job #3149004) | Cod sursa (job #2814388) | Cod sursa (job #2288701)
#include <fstream>
int n, i, maxx(1 << 31), number, s(-1), p2, p1, p, k, l;
std::ifstream in("secv2.in") ;
std::ofstream out("secv2.out") ;
int dp[100000] ;
int main() {
in >> n >> k ;
for (i = 1 ; i <= n ; ++ i) {
in >> number ;
dp[i] = dp[i - 1] + number ;
}
for (i = 1 ; i <= n; i++) {
if (i >= k && s + (dp[i] - dp[i - 1]) < dp[i] - dp[i - k]) {
s = dp[i] - dp[i - k] ;
l = i - k + 1 ;
} else {
s += (dp[i] - dp[i - 1]) ;
}
if (s > maxx && i >= k) {
p2 = i ;
p1 = l ;
maxx = s ;
}
}
out << p1 << " " << p2 << " " << maxx;
return 0;
}