Cod sursa(job #2288700)

Utilizator rares404AlShaytan - Balasescu Rares rares404 Data 23 noiembrie 2018 19:19:44
Problema Secventa 2 Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#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[10000] ;

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;
}