Cod sursa(job #3333318)

Utilizator DariuzzHackerPrime Dariuzz Data 12 ianuarie 2026 22:22:35
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include<fstream>
using namespace std ; 
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int dp[10000001] ; 
int main(){
     int n ; 
      cin>>n;
        for(int i = 1 ; i <= n ; i ++ )
          cin>>dp[i];
      int mx = dp[1] , curr = dp[1] , ind ;
        for(int i = 2 ; i <= n ; i ++ )
           {
             curr = max(dp[i],curr+dp[i]);
               if(mx < curr ){
                   ind = i ; 
                   mx = curr ; 
               }
           } 
           int end = ind , start = ind ;
              cout<<mx<< ' ';
              while(mx!=0 && start>=1){

                
                  mx-=dp[start];
                  start -- ;
              }
                if(dp[start]!=0)
              cout<<start+1<< ' '<<end;
               else 
                cout<<start<< ' '<<end;


    return 0 ; 
}