Submission #152824

#TimeUsernameProblemLanguageResultExecution timeMemory
152824phillipDoktor (COCI17_doktor)C++14
30 / 100
1079 ms632 KiB
#include <bits/stdc++.h>

using namespace std;
int n,a[5009];
int c(int l,int r)
{
    int ret=0;
    for(int i=l;i<=r;i++)
    {
        if(a[r-(i-l)]==i)ret++;
    }
    return ret;
}
int l[5009],r[5009];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        l[i]=l[i-1];
        if(a[i]==i)l[i]++;
    }
    for(int i=n;i>=1;i--)
    {
        r[i]=r[i+1];
        if(a[i]==i)r[i]++;
    }
    int sum,mx=0,x,y;
    for(int i=1;i<=n;i++)
    {
        for(int j=i;j<=n;j++)
        {
            sum=c(i,j)+l[i-1]+r[j+1];
            mx=max(sum,mx);
            if(mx==sum)
            {
                x=i;
                y=j;
            }
        }
    }
    cout<<a[x]<<" "<<a[y];
}

Compilation message (stderr)

doktor.cpp: In function 'int main()':
doktor.cpp:46:25: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
     cout<<a[x]<<" "<<a[y];
                         ^
doktor.cpp:46:17: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
     cout<<a[x]<<" "<<a[y];
                 ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...