Submission #3433097
Source Code Expand
#include <iostream>
#include <ctime>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN = 200005;
int a[MAXN],t[MAXN],n;
inline bool check(int limit)
{
for(int i=1;i<=n*2-1;++i)
t[i]=(a[i]>=limit);
int l=-1,r=-1,lpos=-0x3f3f3f3f,rpos=0x3f3f3f3f;
for(int i=n+1;i<=n*2-1;++i)
if(t[i]==t[i-1]){r=t[i],rpos=i-1;break;}
for(int i=n-1;i>0;--i)
if(t[i]==t[i+1]){l=t[i],lpos=i+1;break;}
if(l==-1 && r==-1)
if(n&1)return t[n];
else return t[n]^1;
else return (rpos-n>n-lpos?l:r);
return 0;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n*2-1;++i)
scanf("%d",a+i);
int l=1,r=n*2-1,mid,ans=0;
while(l<=r){
mid=(l+r)>>1;
if(check(mid))l=mid+1,ans=mid;
else r=mid-1;
}
cout<<ans<<endl;
return 0;
}
Submission Info
Submission Time
2018-10-19 19:49:04+0900
Task
A - Prefix and Suffix
User
DFPMTS
Language
C++14 (GCC 5.4.1)
Score
0
Code Size
817 Byte
Status
WA
Exec Time
1 ms
Memory
256 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:27:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:29:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",a+i);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
0 / 200
Status
Set Name
Test Cases
Sample
0_00.txt, 0_01.txt, 0_02.txt
All
0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt
Case Name
Status
Exec Time
Memory
0_00.txt
WA
1 ms
256 KB
0_01.txt
WA
1 ms
256 KB
0_02.txt
WA
1 ms
256 KB
1_00.txt
WA
1 ms
256 KB
1_01.txt
WA
1 ms
256 KB
1_02.txt
WA
1 ms
256 KB
1_03.txt
WA
1 ms
256 KB
1_04.txt
WA
1 ms
256 KB
1_05.txt
WA
1 ms
256 KB