Submission #156434

# Submission time Handle Problem Language Result Execution time Memory
156434 2019-10-05T15:46:51 Z mdn2002 Nizin (COCI16_nizin) C++14
20 / 100
864 ms 16188 KB
#include<bits/stdc++.h>
using namespace std;
long long mod=1e9+7;
int n,psum[1005][1005],ssum[1005][1005],a[1005];
int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=i;j<n;j++)
        {
            psum[i][j]+=psum[i][j-1]+a[j];
        }
    }
    for(int i=n-1;i>=0;i--)
    {
        for(int j=i;j>=0;j--)
        {
            ssum[i][j]+=ssum[i][j+1]+a[j];
        }
    }
    int ans=0;
    int l=0,r=n-1;
    while(l<r)
    {
        if(a[l]==a[r])
        {
            l++;
            r--;
        }
        else
        {
            bool t=false;
            for(int i=l;i<r;i++)
            {
                if(psum[l][i]==a[r])
                {
                    ans+=i-l;
                    l=i+1;
                    r--;
                    t=true;
                }
                if(t)break;
            }
            if(t)continue;
            for(int i=r;i>l;i--)
            {
                if(ssum[r][i]==a[l])
                {
                    ans+=r-i;
                    r=i-1;
                    l++;
                    t=true;
                }
                if(t)break;
            }
            if(t)continue;
            for(int i=l;i<r;i++)
            {
                for(int j=r;j>l;j--)
                {
                    if(i>=j)continue;
                    if(psum[l][i]==ssum[r][j])
                    {
                        ans+=(i-l)+(r-j);
                        l=i+1;
                        r=j-1;
                        t=true;
                    }
                    if(t)break;
                }
                if(t)break;
            }
            if(t)continue;
            cout<<n-1;
            return 0;
        }
    }
    cout<<ans<<endl;
}
/*
5
1 2 1 1 1
*/
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Incorrect 2 ms 420 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 1532 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 4344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 12 ms 7416 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 272 ms 9060 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 864 ms 11240 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 851 ms 14500 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 376 ms 16188 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -