Cod sursa(job #3281872)

Utilizator NunumNunum nunum Nunum Data 3 martie 2025 21:04:31
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
using namespace std;

ifstream cin("intrare.in");
ofstream cout("intrare.out");
int a[302][302];
int v[302];


int main()
{
    int n,m,i1,i2,l1,l2,c1,c2,s,pi,smax,i,j;

    cin>>n;
    m=n;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            cin>>a[i][j];
            a[i][j]=a[i][j]+a[i-1][j];
        }
    smax=-2000000000;
    for(i1=1;i1<=n;i1++)
        for(i2=i1;i2<=n;i2++)
        {
            for(j=1;j<=m;j++)
                v[j]=a[i2][j]-a[i1-1][j];
            s=0;
            pi=1;
            for(j=1;j<=m;j++)
            {
                if(s<0)
                {
                    s=0;
                    pi=j;
                }
                s+=v[j];
                if(s>smax)
                {
                    smax=s;
                    l1=i1;
                    l2=i2;
                    c1=pi;
                    c2=j;
                }
            }
        }
        cout<<l1<<" "<<c1<<" "<<l2<<" "<<c2;
        cout<<smax;

    return 0;
}