Cod sursa(job #1632071)

Utilizator GeanaVladGeana Vlad GeanaVlad Data 5 martie 2016 21:15:22
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,pmax,mx=-100000,pmx1,mx1=-100000,d[50000],v[50000],i;
int main()
{
   f>>n>>k;
   for(i=0;i<n;i++) f>>v[i];
   for(i=0;i<n;i++)
        {
            d[i]=max(d[i-1]+v[i],v[i]);
            if(d[i]>mx) {mx=d[i];pmax=i;}
        }
   bool ok=1;
   for(i=pmax;i>=0 && ok;i--)
            if(d[i]-v[i]!=d[i-1]) ok=0;
   if(pmax-i>=k)
   g<<i+2<<' '<<pmax+1<<' '<<mx;
   else
   {
       bool ok1=1;
       while(ok1)
       {
           ok=1;
           for(i=0;i<n;i++)
               if(d[i]!=mx&&d[i]>mx1) {mx1=d[i];pmx1=i;}
           for(i=pmx1;i>=0 && ok;i--)
               if(d[i]-v[i]!=d[i-1]) ok=0;
           if(pmax-i>=k) ok1=0;
           else
           {
               mx=mx1;
               mx1=-100000;
           }
       }
       g<<i+2<<' '<<pmax+1<<' '<<mx;
   }
}