読者です 読者をやめる 読者になる 読者になる

はまやんはまやんはまやん

hamayanhamayan's blog

BBQ Easy [AGC 001 : A]

問題

http://agc001.contest.atcoder.jp/tasks/agc001_a

串が2N本あり、それぞれの長さがLiである。
この串を2つずつNセットに分ける。
各セットのうち短い方の串の長さ分具材を刺せる。
このとき、刺せる具材の総和の最大を求めよ。

1 <= N <= 100
1 <= Li <= 100

考察

1. 串の長さの差が大きいほど無駄になる
2. 長さ順でペアを作っていけば最大っぽい
3. ソートして長い方からペアを作ろう

実装

http://agc001.contest.atcoder.jp/submissions/808225

int N;
int L[200];
//-----------------------------------------------------------------
int main() {
	cin >> N;
	rep(i, 0, N * 2) cin >> L[i];
	sort(L, L + N * 2, greater<int>());
 
	int ans = 0;
	rep(i, 0, N) ans += min(L[i * 2], L[i * 2 + 1]);
	cout << ans << endl;
}