JOI2006予選 問題1@C++(簡潔になったよ!)(-58)

同じ問題をPerlで解いたとき、左辺値を三項演算子で分岐する方法を考えたけど、C++なら左辺値用に参照型(int&)が使えるから、同じ事ができるじゃん!

ということで書き直す。

#include <cstdio>
#include <algorithm>
#include <vector>

using namespace std;

int main(int argc,char* argv[])
{
	int n;
	scanf("%d\n",&n);
	int sum_a=0;
	int sum_b=0;
	for(int i=0;i<n;i++) {
		int a,b;
		scanf("%d %d\n",&a,&b);
		(a<b?sum_b:sum_a) += a;
		(b<a?sum_a:sum_b) += b;
	}
	printf("%d %d\n",sum_a,sum_b);
	return 0;
}