提出 #57130314
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef double DOUBLE;
typedef complex<double> point;
#define xx real()
#define yy imag()
#define REP(i, a, b) for(int i = (a); i < (int)(b); i++)
#define REPN(i, a, b) for(int i = (a); i <= (int)(b); i++)
#define FA(it, x) for(__typeof((x).begin()) it = (x).begin(); it != (x).end(); it++)
#define SZ(x) (int)(x).size()
#define BE(x) (x).begin(), (x).end()
#define SORT(x) sort(BE(x))
#define _1 first
#define _2 second
#define x0 gray_cat_x0
#define y0 gray_cat_y0
#define x1 gray_cat_x1
#define y1 gray_cat_y1
#define j0 gray_cat_j0
template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; }
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define file "I1"
const double EPS = 1e-9;
const double PI = acos(-1.);
const ll LL_INF = 1e17 + 16;
const int INF = 1e9 + 10;
// const ll MOD = 1e9 + 7;
const ll MOD = 998244353;
const int MAXN = 3e5 + 5;
int a[MAXN], b[MAXN];
int used_a[MAXN], used_b[MAXN];
void solve(){
int n, k;
scanf("%d%d", &n, &k);
REPN(i, 1, n) {
used_a[i] = used_b[i] = 0;
}
REPN(i, 1, n) {
scanf("%d", &a[i]);
used_a[a[i]] = 1;
}
REPN(i, 1, n) {
scanf("%d", &b[i]);
used_b[b[i]] = 1;
}
// Identical
bool eq = true;
REPN(i, 1, n) {
if (a[i] != b[i]) {
eq = false;
}
}
if (eq) {
printf("Yes\n");
return;
}
// Missing value
REPN(i, 1, n) {
if (!used_a[b[i]]) {
printf("No\n");
return;
}
}
// Permutation
bool is_per = true;
REPN(i, 1, n) {
if (!used_b[i]) {
is_per = false;
}
}
if (is_per) {
printf("No\n");
return;
}
// k >= 2
if (k >= 2) {
printf("Yes\n");
return;
}
// k == 1
int ind_a = 0;
for(int i = 1; i <= n; ) {
for(ind_a++; ind_a <= n && a[ind_a] != b[i]; ind_a++);
if (ind_a > n) {
printf("No\n");
return;
}
for(i++; i <= n && b[i] == b[i - 1]; i++);
}
printf("Yes\n");
}
int main(){
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
//freopen(file".in", "r", stdin); freopen(file".out", "w", stdout);
int t = 1;
cin >> t;
while(t--){
solve();
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - Near Assignment |
| ユーザ | Timur_Sitdikov |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 0 |
| コード長 | 2368 Byte |
| 結果 | WA |
| 実行時間 | 52 ms |
| メモリ | 7804 KiB |
コンパイルエラー
Main.cpp: In function ‘void solve()’:
Main.cpp:49:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
49 | scanf("%d%d", &n, &k);
| ~~~~~^~~~~~~~~~~~~~~~
Main.cpp:54:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
54 | scanf("%d", &a[i]);
| ~~~~~^~~~~~~~~~~~~
Main.cpp:58:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
58 | scanf("%d", &b[i]);
| ~~~~~^~~~~~~~~~~~~
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 600 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00-sample-001.txt |
| All | 00-sample-001.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt, 01-032.txt, 01-033.txt, 01-034.txt, 01-035.txt, 01-036.txt, 01-037.txt, 01-038.txt, 01-039.txt, 01-040.txt, 01-041.txt, 01-042.txt, 01-043.txt, 01-044.txt, 01-045.txt, 01-046.txt, 01-047.txt, 01-048.txt, 01-049.txt, 01-050.txt, 01-051.txt, 01-052.txt, 01-053.txt, 01-054.txt, 01-055.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-001.txt | AC | 1 ms | 3716 KiB |
| 01-001.txt | AC | 36 ms | 3716 KiB |
| 01-002.txt | AC | 32 ms | 3580 KiB |
| 01-003.txt | WA | 31 ms | 3716 KiB |
| 01-004.txt | WA | 29 ms | 3896 KiB |
| 01-005.txt | WA | 29 ms | 3716 KiB |
| 01-006.txt | WA | 29 ms | 3648 KiB |
| 01-007.txt | WA | 29 ms | 3744 KiB |
| 01-008.txt | WA | 29 ms | 3672 KiB |
| 01-009.txt | WA | 29 ms | 3728 KiB |
| 01-010.txt | AC | 30 ms | 3532 KiB |
| 01-011.txt | AC | 31 ms | 3680 KiB |
| 01-012.txt | AC | 36 ms | 3868 KiB |
| 01-013.txt | AC | 50 ms | 7680 KiB |
| 01-014.txt | AC | 50 ms | 7632 KiB |
| 01-015.txt | AC | 49 ms | 7500 KiB |
| 01-016.txt | AC | 52 ms | 7628 KiB |
| 01-017.txt | AC | 31 ms | 7628 KiB |
| 01-018.txt | AC | 31 ms | 7516 KiB |
| 01-019.txt | AC | 31 ms | 7540 KiB |
| 01-020.txt | AC | 34 ms | 7612 KiB |
| 01-021.txt | AC | 39 ms | 7688 KiB |
| 01-022.txt | AC | 38 ms | 7616 KiB |
| 01-023.txt | AC | 44 ms | 7556 KiB |
| 01-024.txt | AC | 44 ms | 7672 KiB |
| 01-025.txt | AC | 51 ms | 7548 KiB |
| 01-026.txt | AC | 52 ms | 7492 KiB |
| 01-027.txt | AC | 24 ms | 7556 KiB |
| 01-028.txt | AC | 24 ms | 7552 KiB |
| 01-029.txt | AC | 26 ms | 7568 KiB |
| 01-030.txt | AC | 25 ms | 7540 KiB |
| 01-031.txt | WA | 26 ms | 7688 KiB |
| 01-032.txt | AC | 26 ms | 7680 KiB |
| 01-033.txt | WA | 29 ms | 7684 KiB |
| 01-034.txt | AC | 29 ms | 7492 KiB |
| 01-035.txt | WA | 30 ms | 7692 KiB |
| 01-036.txt | AC | 30 ms | 7624 KiB |
| 01-037.txt | WA | 32 ms | 7628 KiB |
| 01-038.txt | AC | 32 ms | 7624 KiB |
| 01-039.txt | WA | 33 ms | 7804 KiB |
| 01-040.txt | AC | 33 ms | 7552 KiB |
| 01-041.txt | WA | 36 ms | 7568 KiB |
| 01-042.txt | AC | 36 ms | 7620 KiB |
| 01-043.txt | WA | 37 ms | 7804 KiB |
| 01-044.txt | AC | 37 ms | 7496 KiB |
| 01-045.txt | WA | 40 ms | 7628 KiB |
| 01-046.txt | AC | 40 ms | 7616 KiB |
| 01-047.txt | WA | 42 ms | 7680 KiB |
| 01-048.txt | AC | 42 ms | 7620 KiB |
| 01-049.txt | WA | 49 ms | 7620 KiB |
| 01-050.txt | AC | 50 ms | 7572 KiB |
| 01-051.txt | AC | 32 ms | 7624 KiB |
| 01-052.txt | AC | 37 ms | 7680 KiB |
| 01-053.txt | AC | 39 ms | 7804 KiB |
| 01-054.txt | AC | 41 ms | 7688 KiB |
| 01-055.txt | AC | 46 ms | 7492 KiB |