Submission #10244412


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using Pi = pair<int, int>;
using Pl = pair<ll, ll>;
using vint = vector<int>;
using vvint = vector<vint>;
using vvvint = vector<vvint>;
using vll = vector<ll>;
using uint = unsigned int;
using ull = unsigned long long;

template<typename T> using uset = unordered_set<T>;
template<typename T1, typename T2> using umap = unordered_map<T1, T2>;

constexpr int INF = (1 << 30) - 1;
constexpr ll LLINF = 1LL << 60;
constexpr int dy[] = {1, 0, -1, 0, 1, -1, -1, 1};
constexpr int dx[] = {0, 1, 0, -1, 1, 1, -1, -1};
constexpr char el = '\n';
constexpr int mod = 1000000007;

template<typename T> T gcd(T a, T b) { return (b ? gcd(b, a % b) : a); }
template<typename T> T lcm(T a, T b) { return (a / gcd(a, b) * b); }
template<typename T1, typename T2> inline void chmin(T1 &a, T2 b) { if (a > b) a = b; }
template<typename T1, typename T2> inline void chmax(T1 &a, T2 b) { if (a < b) a = b; }

template<typename T>
ostream& operator <<(ostream &os, vector<T> &v) {
	for (auto &u : v) os << u << el;
	return (os);
}

template<typename T>
istream& operator >>(istream &is, vector<T> &v) {
	for (auto &u : v) is >> u;
	return (is);
}

template<typename T1, typename T2>
istream& operator >>(istream &is, pair<T1, T2> &p) {
	return (is >> p.first >> p.second);
}

int main() {
	ll N, Q; cin >> N >> Q;
	vll dat(N);
	iota(begin(dat), end(dat), 1);

	set<int> st;
	st.insert(1); st.insert(2);
	int pos = 0;
	for (int i = 0; i < Q; i++) {
		int a, b;
		cin >> a >> b; --a, --b;
		swap(dat[a], dat[b]);
		if (a == pos) pos = b;
		else if (b == pos) pos = a;
		if (pos > 0) st.insert(dat[pos-1]);
		if (pos < N-1) st.insert(dat[pos+1]);
	}
	cout << st.size() << endl;
	return (0);
}

Submission Info

Submission Time
Task G - Magician
User tinumukiti631
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1801 Byte
Status AC
Exec Time 60 ms
Memory 1024 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 23
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask1_01.txt AC 58 ms 1024 KB
subtask1_02.txt AC 58 ms 1024 KB
subtask1_03.txt AC 57 ms 1024 KB
subtask1_04.txt AC 57 ms 1024 KB
subtask1_05.txt AC 57 ms 1024 KB
subtask1_06.txt AC 57 ms 1024 KB
subtask1_07.txt AC 58 ms 1024 KB
subtask1_08.txt AC 57 ms 1024 KB
subtask1_09.txt AC 58 ms 1024 KB
subtask1_10.txt AC 58 ms 1024 KB
subtask1_11.txt AC 58 ms 1024 KB
subtask1_12.txt AC 58 ms 1024 KB
subtask1_13.txt AC 59 ms 1024 KB
subtask1_14.txt AC 57 ms 1024 KB
subtask1_15.txt AC 58 ms 1024 KB
subtask1_16.txt AC 58 ms 1024 KB
subtask1_17.txt AC 58 ms 1024 KB
subtask1_18.txt AC 60 ms 1024 KB
subtask1_19.txt AC 57 ms 1024 KB