Submission #18066012
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
int n,a[100005],b[100005],s[100005],tree[200015];
void add(int x,int y){x+=100000;for(int i=x;i<=200005;i+=(i&(-i)))tree[i]+=y;}
int ask(int x){x+=100000;int res=0;for(int i=x;i;i-=(i&(-i)))res+=tree[i];return res;}
bool check(int x)//median<=x
{
memset(tree,0,sizeof(tree));
add(1,1);
int nows=0;
long long res=0;
for(int i=1;i<=n;i++)
{
if(a[i]<=x)nows++;
res+=ask(2*nows-i);
add(2*nows-i+1,1);
}
return res>=1ll*n*(n+1)/4+1;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&a[i]),b[i]=a[i];
sort(b+1,b+n+1);
int t=unique(b+1,b+n+1)-(b+1);
int l=1,r=t;
while(l<r)
{
int mid=(l+r)>>1;
if(check(b[mid]))r=mid;
else l=mid+1;
}
printf("%d",b[l]);
return 0;
}
Submission Info
| Submission Time |
|
| Task |
D - Median of Medians |
| User |
AzusaCat |
| Language |
C++ (GCC 9.2.1) |
| Score |
700 |
| Code Size |
870 Byte |
| Status |
AC |
| Exec Time |
67 ms |
| Memory |
5328 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:22:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
22 | scanf("%d",&n);
| ~~~~~^~~~~~~~~
./Main.cpp:23:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
23 | for(int i=1;i<=n;i++)scanf("%d",&a[i]),b[i]=a[i];
| ~~~~~^~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
700 / 700 |
| 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, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 0_00.txt |
AC |
6 ms |
4344 KiB |
| 0_01.txt |
AC |
4 ms |
3616 KiB |
| 0_02.txt |
AC |
4 ms |
4484 KiB |
| 1_00.txt |
AC |
2 ms |
3784 KiB |
| 1_01.txt |
AC |
3 ms |
3560 KiB |
| 1_02.txt |
AC |
15 ms |
4460 KiB |
| 1_03.txt |
AC |
21 ms |
4380 KiB |
| 1_04.txt |
AC |
50 ms |
5240 KiB |
| 1_05.txt |
AC |
48 ms |
5132 KiB |
| 1_06.txt |
AC |
55 ms |
5244 KiB |
| 1_07.txt |
AC |
54 ms |
5248 KiB |
| 1_08.txt |
AC |
64 ms |
5164 KiB |
| 1_09.txt |
AC |
63 ms |
5252 KiB |
| 1_10.txt |
AC |
65 ms |
5160 KiB |
| 1_11.txt |
AC |
65 ms |
5328 KiB |
| 1_12.txt |
AC |
61 ms |
5324 KiB |
| 1_13.txt |
AC |
65 ms |
5248 KiB |
| 1_14.txt |
AC |
67 ms |
5248 KiB |
| 1_15.txt |
AC |
65 ms |
5232 KiB |