Cod sursa(job #993129)

Utilizator sebinechitasebi nechita sebinechita Data 3 septembrie 2013 12:38:13
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");
#define baza 1
#define MAX 100005
#define MOD 1999999973
typedef long long int lli;

int n, k, a[MAX], i, j, xi, yi, s[MAX], maxl=INT_MIN, maxi=0, maxj=0, cool=INT_MIN;

int maxf(int a, int b)
{
    if(a>b)
        return a;
    return b;
}

int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    xi=1;
    s[1]=a[1];
    int ki=1;
    a[1]=ki;
    for(i=2;i<=n;i++)
    {
        s[i]=maxf(a[i], a[i]+s[i-1]);
        ki++;
        if(a[i]==s[i])
            ki=1;
        a[i]=ki;
    }

    for(i=1;i<=n;i++)
    {
        if(a[i]>=k && maxl<s[i])
            {
                maxl=s[i];
                maxj=i;
                maxi=i-a[i]+1;
            }
    }
    if(maxl==INT_MIN)
        maxl=0;
    fout<<maxi<<" "<<maxj<<" "<<maxl;


    return 0;
}