[ZJOI2008]泡泡堂
贪心, 最强/最弱的能赢就打,否则自己最弱的打对手最强的。
/** * Problem:BNB * Author:Shun Yao * Time:2013.5.30 * Result:Accepted * Memo:greedy */ #include <cstdio> #include <algorithm> long n, x[100000], y[100000]; long solve(long A[], long B[]) { static long ret, i, j, k, l; ret = i = j = 0; k = l = n - 1; while (i <= k) { if (A[i] > B[j]) { ret += 2; ++i; ++j; } else if (A[k] > B[l]) { ret += 2; --k; --l; } else { ret += A[i] == B[l]; ++i; --l; } } return ret; } int main() { static long i; freopen("bnb.in", "r", stdin); freopen("bnb.out", "w", stdout); scanf("%ld", &n); for (i = 0; i < n; ++i) scanf("%ld", x + i); for (i = 0; i < n; ++i) scanf("%ld", y + i); std::sort(x, x + n); std::sort(y, y + n); printf("%ld %ld", solve(x, y), (n << 1) - solve(y, x)); fclose(stdin); fclose(stdout); return 0; }
作者:HSUPPR
出处:http://www.cnblogs.com/hsuppr/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出
原文链接,否则保留追究法律责任的权利。