提出 #3079506


ソースコード 拡げる

Copy
#include <bits/stdc++.h>

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define rep(i,n) FOR(i,0,n)
#define RFOR(i,a,b) for(int i=(a)-1;i>=(b);i--)
#define rrep(i,n) RFOR(i,n,0)

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll> pll;

int main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);

	ll n;
	cin >> n;

	ll a[n];
	rep(i, n) cin >> a[i];

	ll smn = n * (n+1) / 2;
	ll tar = smn / 2 + 1;

	vector<pll> b;
	if(n % 2 == 0){
		for(int i = 0; i <= n / 2 - 1; i++){
			b.push_back((pll){a[i], 2 * i + 1});
		}
		for(int i = n / 2; i < n; i++){
			b.push_back((pll){a[i], 2 * (n - i)});
		}
	}else{
		for(int i = 0; i <= n / 2; i++){
			b.push_back((pll){a[i], 2 * i + 1});
		}
		for(int i = n / 2+1; i < n; i++){
			b.push_back((pll){a[i], 2 * (n - i)});
		}
	}

	sort(b.begin(), b.end());
	rep(i, n){
		// cout << b[i].first << "," << b[i].second << endl;
	}

	ll tmp = 0;
	rep(i, n){
		tmp += b[i].second;
		if(tmp >= tar){
			cout << b[i].first << endl;
			return 0;
		}
	}

}

提出情報

提出日時
問題 D - Median of Medians
ユーザ misora192
言語 C++14 (GCC 5.4.1)
得点 0
コード長 1083 Byte
結果
実行時間 25 ms
メモリ 3188 KB

テストケース

セット名 得点 / 配点 テストケース
Sample 0 / 0 0_00.txt, 0_01.txt, 0_02.txt
All 0 / 700 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
ケース名 結果 実行時間 メモリ
0_00.txt 1 ms 256 KB
0_01.txt 1 ms 256 KB
0_02.txt 1 ms 256 KB
1_00.txt 1 ms 256 KB
1_01.txt 1 ms 256 KB
1_02.txt 20 ms 3188 KB
1_03.txt 25 ms 3188 KB
1_04.txt 13 ms 3188 KB
1_05.txt 12 ms 3188 KB
1_06.txt 20 ms 3188 KB
1_07.txt 20 ms 3188 KB
1_08.txt 20 ms 3188 KB
1_09.txt 20 ms 3188 KB
1_10.txt 20 ms 3188 KB
1_11.txt 20 ms 3188 KB
1_12.txt 19 ms 3188 KB
1_13.txt 20 ms 3188 KB
1_14.txt 21 ms 3188 KB
1_15.txt 20 ms 3188 KB