Cod sursa(job #2949362)

Utilizator MihneaLoxGheorghe Mihnea Florentin MihneaLox Data 30 noiembrie 2022 15:27:20
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#include <fstream>
#include <vector>
#include <algorithm>

std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");

int main(){

    int n;
    fin>>n;
    std::vector<std::vector<int>>matrix;

    matrix.resize(n+1);
    for(int i=0;i<=n;++i){
        matrix[i].resize(n-i);
    }

    for(int i=0;i<n;++i)
        fin>>matrix[0][i];
    std::reverse(matrix[0].begin(),matrix[0].end());

    int x,y,max=0;
    for(int i=1;i<n;++i){
        for(int j=n-i;j>=0;j--){
            matrix[i][j]=matrix[i-1][j+1]+matrix[0][j];
            if(matrix[i][j]>max){
                x=i;
                y=n-j;
                max=matrix[i][j];
            }
        }
    }

    fout<<max<<" "<<x<<" "<<y;

    /*for(int i=0;i<n;++i)
        fin>>matrix[0][i];

    int x,y,max=0;

    for(int i=1;i<=n;++i){
        for(int j=i;j<n;++j){
            matrix[i][j]=matrix[i-1][j-1]+matrix[0][j];
            if(matrix[i][j]>max)
                max=matrix[i][j],x=i,y=j+1;
        }
    }
    fout<<max<<" "<<x<<" "<<y;*/


    fin.close();
    fout.close();
    return 0;
}