ABC088 B - Card Game for Two
問題はこちら
atcoder.jp
方針
与えられた を大きい順にソートして,交互に取ってもらっています。
コード
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; vector<int> a(n); for(int i=0; i<n; i++){ cin>>a.at(i); } int alice=0,bob=0; // aの要素を大きい順にソート sort(a.begin(),a.end()); reverse(a.begin(),a.end()); if(n%2==0){ for(int i=0; i<n; i+=2){ alice+=a.at(i); bob+=a.at(i+1); } }else{ for(int i=0; i<n-1; i+=2){ alice+=a.at(i); bob+=a.at(i+1); } alice+=a.at(n-1); } cout<<alice-bob<<endl; }