2007年国内予選A問題(ICPC Score Totalizer Software)(2007/07/30(月) 00:37:45)
include 2007年国内予選A問題のICPC Score Totalizer Software(ICPC 得点集計ソフトウェア)をやってみました。
解法1
Vectorに入れてソートしたものを、先頭データ+1から末尾データ−1までで平均値を出す。
解法2
入力で最小値と最大値、合計を求めて、(合計−最小値−最大値)/(審判数−2)を求める。
ソース
(目標5分以内)
#include <iostream> #include <vector> using namespace std; int main(){ int n; while(cin >> n, (n)){ vector<int> p; for(int i = 0; i < n; i++){ int tmp; cin >> tmp; p.push_back(tmp); } sort(p.begin(), p.end(), greater<int>()); int sum = 0; for(int i = 1; i < p.size() - 1; i++){ sum += p[i]; } cout << (sum / (p.size() - 2)) << endl; } }