QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#122699 | #6636. Longest Strictly Increasing Sequence | wnmrmr# | AC ✓ | 4ms | 3420kb | C++20 | 945b | 2023-07-10 22:28:04 | 2023-07-10 22:28:06 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int ll
#define all(v) v.begin(), v.end()
#define pb push_back
void dbg_out() { cerr << endl; }
template <typename H, typename... T>
void dbg_out(H h, T... t) { cerr << ' ' << h; dbg_out(t...); }
#define dbg(...) { cerr << #__VA_ARGS__ << ':'; dbg_out(__VA_ARGS__); }
void solve() {
int n; cin >> n;
vector<int> b(n);
for(int &x: b) cin >> x;
if(b[0] != 1) {
cout << "NO" << '\n';
return;
}
for(int i=1;i<n;i++) {
if( !(b[i] == b[i-1] || b[i] == b[i-1] + 1) ) {
cout << "NO" << '\n';
return;
}
}
int mx = 50, mn = 50;
cout << "YES" << '\n';
cout << mx << ' ';
for(int i=1;i<n;i++) {
if(b[i] == b[i-1] + 1) {
cout << ++mx << ' ';
} else {
cout << --mn << ' ';
}
}
cout << '\n';
}
signed main() {
ios::sync_with_stdio(false); cin.tie(0);
int t; cin >> t;
while(t--)
solve();
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3420kb
input:
2 6 1 2 3 2 5 7 2 1 2
output:
NO YES 50 51
result:
ok t=2 (2 test cases)
Test #2:
score: 0
Accepted
time: 4ms
memory: 3400kb
input:
3483 5 2 3 5 1 1 2 8 1 10 1 2 3 4 4 5 6 6 6 7 10 1 1 2 2 2 2 3 4 4 5 2 5 8 3 7 10 8 5 4 1 3 3 8 10 1 2 2 2 2 2 2 3 3 3 10 1 1 2 3 4 5 5 5 5 6 9 1 2 3 4 5 5 6 6 7 7 8 8 8 8 9 1 2 5 8 9 8 3 5 10 1 2 3 3 3 3 4 4 4 5 5 7 1 6 4 3 7 5 6 8 6 1 5 5 10 1 2 2 3 4 4 4 4 5 5 3 10 4 5 3 1 5 3 5 2 8 1 2 1 3 7 8 3...
output:
NO NO YES 50 51 52 53 49 54 55 48 47 56 YES 50 49 51 48 47 46 52 53 45 54 NO NO NO YES 50 51 49 48 47 46 45 52 44 43 YES 50 49 51 52 53 54 48 47 46 55 YES 50 51 52 53 54 49 55 48 56 NO NO YES 50 51 52 49 48 47 53 46 45 54 NO NO YES 50 51 49 52 53 48 47 46 54 45 NO NO NO NO NO NO YES 50 49 48 ...
result:
ok t=3483 (3483 test cases)