Cod sursa(job #280186)

Utilizator MciprianMMciprianM MciprianM Data 13 martie 2009 11:35:04
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;
#define INF 0x3F3F3F3F
#defeine MAXN 50005
int a[MAXN];
int main(){
  int bestSum, n, i, x, besta=-1, bestc, idc, ids, ide, idea, k;
  ifstream f("secv2.in");
  bestSum=-INF;
  f>>n>>k;
  for(i=1;i<=n;i++){
    f>>a[i];
    bestc=a[i]; ide=i;
    if(besta>=0)  bestc=a[i]+besta, ide=idea;
    if(bestSum<bestc&&(i-ide+1)>=k)  bestSum=bestc, ids=i, idc=ide;
    besta=bestc;idea=ide;
    a[i]+=a[i-1];
  }
  ofstream g("secv2.out");
  if(bestSum==-INF){
    bestSum=a[k];idc=1, ids=k;
    for(i=k+1;i<=n;i++)
      if(bestSum<a[i]-a[i-k])
        bestSum=a[i]-a[i-k],idc=i-k+1, ids=i;
  }
  g<<idc<<' '<<ids<<' '<<bestSum<<'\n';
  f.close();
  g.close();
  return 0;
}