Submission #64326039


Source Code Expand

Copy
#include <bits/stdc++.h>
using ld = long double;
using i64 = long long;
#define NO std::cout << "No\n"
#define YES std::cout << "Yes\n"
#define all(x) x.begin(), x.end()
// std::default_random_engine Rand;
// std::uniform_int_distribution<int> r1(1, 10);
// constexpr int d4[4][2] = {-1, 0, 0, 1, 1, 0, 0, -1};
// constexpr int d8[8][2] = {-1, 0, -1, 1, 0, 1, 1, 1, 1, 0, 1, -1, 0, -1, -1, -1};
void solve() {
int n;
std::cin >> n;
std::vector<int> v(2 * n);
std::vector<std::vector<int>> id(n + 1);
for(int i = 0; i < n * 2; i++){
std::cin >> v[i];
id[v[i]].push_back(i);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <bits/stdc++.h>
using ld = long double;
using i64 = long long;

#define NO std::cout << "No\n"
#define YES std::cout << "Yes\n"
#define all(x) x.begin(), x.end()

// std::default_random_engine Rand;
// std::uniform_int_distribution<int> r1(1, 10);
// constexpr int d4[4][2] = {-1, 0, 0, 1, 1, 0, 0, -1};
// constexpr int d8[8][2] = {-1, 0, -1, 1, 0, 1, 1, 1, 1, 0, 1, -1, 0, -1, -1, -1};

void solve() {
    int n;
    std::cin >> n;
    std::vector<int> v(2 * n);
    std::vector<std::vector<int>> id(n + 1);
    for(int i = 0; i < n * 2; i++){
        std::cin >> v[i];
        id[v[i]].push_back(i);
    }
    int ans = 0;
    for(int i = 0; i < n * 2 - 1; i++){
        int a = v[i], b = v[i + 1];
        if(std::abs(id[a][0] - id[a][1]) == 1 || std::abs(id[b][0] - id[b][1]) == 1) continue;
        if(id[a][1] == i || id[a][1] == i + 1 || id[b][1] == i || id[b][1] == i + 1) continue;
        if(std::abs(id[a][1] - id[b][1]) == 1){
            if(a > b){
                if(id[a][1] > id[b][1]) ans++;
            } else {
                ans++;
            }
        }
    }
    std::cout << ans << "\n";

}

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);
    // Rand.seed(time(0));

    int _ = 1;

    std::cin >> _;
    // scanf("%ld",&_);
    // std::cout << std::fixed << std::setprecision(2);

    while (_--) {
        solve();
    }
    return 0;
}

Submission Info

Submission Time
Task D - Switch Seats
User jiujiu9
Language C++ 20 (gcc 12.2)
Score 0
Code Size 1491 Byte
Status WA
Exec Time 62 ms
Memory 15580 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 1
AC × 7
WA × 12
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 02_random_1_00.txt, 02_random_1_01.txt, 02_random_1_02.txt, 02_random_1_03.txt, 02_random_1_04.txt, 03_random_2_00.txt, 03_random_2_01.txt, 03_random_2_02.txt, 04_max_00.txt, 05_corner_00.txt, 05_corner_01.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3420 KB
01_small_00.txt WA 25 ms 3492 KB
01_small_01.txt WA 25 ms 3428 KB
01_small_02.txt WA 26 ms 3572 KB
01_small_03.txt WA 26 ms 3636 KB
01_small_04.txt WA 26 ms 3516 KB
01_small_05.txt WA 26 ms 3504 KB
01_small_06.txt WA 26 ms 3560 KB
02_random_1_00.txt AC 62 ms 15424 KB
02_random_1_01.txt AC 61 ms 15580 KB
02_random_1_02.txt AC 61 ms 15424 KB
02_random_1_03.txt WA 59 ms 15452 KB
02_random_1_04.txt WA 60 ms 15508 KB
03_random_2_00.txt WA 53 ms 15408 KB
03_random_2_01.txt WA 53 ms 15508 KB
03_random_2_02.txt WA 54 ms 15480 KB
04_max_00.txt AC 30 ms 15400 KB
05_corner_00.txt AC 29 ms 15428 KB
05_corner_01.txt AC 29 ms 15464 KB


2025-04-11 (Fri)
11:05:21 +00:00