A - Add Plus Minus Sign
简单题,直接 \(\tt -\) 和 \(\tt +\) 交替就好了。
缺省源没有。
int solve() {
int n = getInt();
string s;
cin >> s;
bool b = (s[0] == 1);
for(int i = 2; i <= n; i++) {
if(s[i - 1] == '1') {
cout << (b ? '+' : '-');
b = 1 - b;
} else cout << '+';
}
puts("");
return 0;
}
B
这道题!!!(突然激动
这道题的 pretest 什么玩意儿啊,难道 pretest 就可以完全随机吗流汗。
赛时发现自己假了,然后 hack 了 \(8\) 个人!!!1
赛时代码:
int solve() {
int n = getInt(), m = getInt(), k = getInt();
int maxn = 0;
for(int i = 1; i <= m; i++) {
int x = getInt();
maxn = max(x, maxn);
}
int blo = n / k + (n % k != 0);
if(maxn > blo) return puts("NO");
puts("YES");
return 0;
}
但是这个为什么是错的呢,因为考虑输入
1
10 3 3
4 4 2
应该输出啥可以自己手玩。
然后我们就发现:这个结论其实是