提出 #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
結果
AC × 1
AC × 39
WA × 17
セット名 テストケース
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