Code
// #include <bits/stdc++.h>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <cmath>
#include <unordered_map>
#include <map>
#include <set>
#include <cctype>
#include <list>
#include <bitset>
#define dbg(x) cout << #x << " = " << x << "\n"
using namespace std;
#define cf int _o_o_;cin>>_o_o_;for (int Case = 1; Case <= _o_o_;Case++)
#define SZ(x) (int)(x.size())
inline void solve();
int main() {solve();return 0;}
// ios::sync_with_stdio(false), cin.tie(nullptr);
using ll = long long;
const int maxn = 2e5 + 10;
void ok();
inline void solve() {
int t;
cin >> t;
while (t -- ) {
ok();
}
}
inline void ok() {
int n;
cin >> n;
int likes = 0,dislikes = 0;
for (int i = 0;i < n;i++) {
int x;
cin >> x;
if (x > 0) likes++; // 点赞次数加一
else dislikes++; // 取消点赞次数加一
}
// 下面构造最多赞的答案
for (int i = 1;i <= n;i++) {
if (i <= likes) cout << i << " \n"[i == n]; // 一直点赞,点赞数递增。
else cout << (2 * likes - i) << " \n"[i == n]; // 第一个满足这个的i大小为likes+1, 所以2 * likes - likes - 1 = likes - 1. 满足减小的要求。
}
// 下面构造最少赞的答案
for (int i = 1;i <= n;i++) {
if (i <= 2 * dislikes) cout << i % 2 << " \n"[i == n]; // 需要先点赞,再取消,所以有2*dislikes个这种的
else cout << i - 2 * dislikes << " \n"[i == n]; // 后面全是点赞,点赞数递增。
}
}
标签:857,int,dislikes,Codeforces,++,Likes,Div,include,likes
From: https://www.cnblogs.com/FanWQ/p/17219016.html