Submission #713721

# Submission time Handle Problem Language Result Execution time Memory
713721 2023-03-22T23:44:44 Z TheConverseEngineer Arranging Shoes (IOI19_shoes) C++17
10 / 100
45 ms 67624 KB
#include <bits/stdc++.h>
#include "shoes.h"
using namespace std;

#define FOR(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define sqr(x) ((ll)(x))*(x)
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

int N;
stack<int> ofSz[100003];

ll count_swaps(vi S) {
	N = sz(S)/2;
	for (int i = 2*N-1; i >= 0; i--) ofSz[abs(S[i])].push(i);

	ll ans = 0;
	vector<pii> pairs;
	FOR(i, 1, N+1) {
		while (!ofSz[i].empty()) {
			int a = ofSz[i].top(); ofSz[i].pop();
			pairs.emplace_back(a, ofSz[i].top()); ofSz[i].pop();\
			if (S[a] > 0) ans++;
		}
	}
	sort(all(pairs));
	set<int> moved;

	for (pii i : pairs) {
		ans += i.second - i.first - 1 - distance(moved.begin(), moved.lower_bound(i.second));
		moved.insert(i.second);
	}
	return ans;
}

# Verdict Execution time Memory Grader output
1 Correct 42 ms 67600 KB Output is correct
2 Correct 43 ms 67616 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 42 ms 67600 KB Output is correct
2 Correct 43 ms 67616 KB Output is correct
3 Correct 42 ms 67532 KB Output is correct
4 Correct 40 ms 67592 KB Output is correct
5 Incorrect 40 ms 67540 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 67600 KB Output is correct
2 Correct 43 ms 67616 KB Output is correct
3 Incorrect 45 ms 67532 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 67624 KB Output is correct
2 Correct 42 ms 67540 KB Output is correct
3 Correct 42 ms 67604 KB Output is correct
4 Incorrect 42 ms 67572 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 67600 KB Output is correct
2 Correct 43 ms 67616 KB Output is correct
3 Correct 42 ms 67532 KB Output is correct
4 Correct 40 ms 67592 KB Output is correct
5 Incorrect 40 ms 67540 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 67600 KB Output is correct
2 Correct 43 ms 67616 KB Output is correct
3 Correct 42 ms 67532 KB Output is correct
4 Correct 40 ms 67592 KB Output is correct
5 Incorrect 40 ms 67540 KB Output isn't correct
6 Halted 0 ms 0 KB -