# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
151669 | ae04071 | Arranging Shoes (IOI19_shoes) | C++14 | 530 ms | 22912 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;
using lli = long long;
using pii = pair<int,int>;
int n;
struct seg_tr{
int tr[200001];
void init() {
for(int i=0;i<=n;i++) tr[i] = 0;
}
void upd(int cur, int val) {
while(cur<=n) tr[cur]+=val, cur+=cur&-cur;
}
int get(int cur) {
int ret=0;
while(cur) ret+=tr[cur], cur-=cur&-cur;
return ret;
}
}seg;
long long count_swaps(vector<int> s) {
set<pii> vi, iv;
n = s.size();
seg.init();
for(int i=0;i<s.size();i++) {
vi.insert({s[i], i});
iv.insert({i, s[i]});
seg.upd(i+1, 1);
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |