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;
  }
}