# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1003804 | 2024-06-20T18:00:17 Z | vjudge1 | Ekoeko (COCI21_ekoeko) | C++17 | 23 ms | 16356 KB |
#include<bits/stdc++.h> using namespace std; #define int long long #define pb push_back const int maxn = 2e5+5; int bit[maxn]; void upd(int x){ for(; x<maxn; x+=x&-x) bit[x]++; } int query(int x){ int rt=0; for(; x>0; x-=x&-x) rt+=bit[x]; return rt; } int ord(char c){ return (int)(c-'a'); } signed main(){ int n; cin >> n; string s; cin >> s; vector<int> mp(26,0), cnt(26,0); for(char c : s) cnt[ord(c)]++; int cnt1=0, cnt2=0; vector<int> arr1, arr2; vector<int> trans(2*n,0); cout << endl; set<int> pos[26]; for(int i=0; i<2*n; i++){ int p = ord(s[i]); if(mp[p]<cnt[p]/2){ mp[p]++; cnt1++; trans[i]=cnt1; pos[p].insert(i+1); } } for(int i=0; i<2*n; i++) if(!trans[i]){ int p = ord(s[i]); assert(pos[p].size()>0); trans[i] = (*pos[p].begin())+n; pos[p].erase(pos[p].begin()); } // for(int x : trans) cout << x << " "; // cout << endl; int ans=0; for(int i=0; i<2*n; i++ ){ ans += i-query(trans[i]-1); upd(trans[i]); } cout << ans << '\n'; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 6 ms | 3184 KB | Output is correct |
3 | Correct | 13 ms | 5920 KB | Output is correct |
4 | Runtime error | 23 ms | 16356 KB | Execution killed with signal 11 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 6 ms | 3184 KB | Output is correct |
3 | Correct | 13 ms | 5920 KB | Output is correct |
4 | Runtime error | 23 ms | 16356 KB | Execution killed with signal 11 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 6 ms | 3184 KB | Output is correct |
3 | Correct | 13 ms | 5920 KB | Output is correct |
4 | Runtime error | 23 ms | 16356 KB | Execution killed with signal 11 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 6 ms | 3184 KB | Output is correct |
3 | Correct | 13 ms | 5920 KB | Output is correct |
4 | Runtime error | 23 ms | 16356 KB | Execution killed with signal 11 |
5 | Halted | 0 ms | 0 KB | - |