제출 #722845

#제출 시각아이디문제언어결과실행 시간메모리
722845Darren0724Arranging Shoes (IOI19_shoes)C++17
15 / 100
63 ms11700 KiB
#include "shoes.h" #include<bits/stdc++.h> //#include "grader.cpp" using namespace std; int n; vector<int> v; void add(int p,int x){ for(int i=p;i<=n;i+=i&(-i)){ v[i]+=x; } } int ask(int p){ int ans=0; for(int i=p;i>0;i-=i&(-i)){ ans+=v[i]; } return ans; } int ask(int a,int b){ return ask(b)-ask(a-1); } long long count_swaps(std::vector<int> s) { n=s.size(); int m=n/2; v.resize(n+1); vector<int> a[n+1]; for(int i=m*2-1;i>=m;i--){ a[s[i]].push_back(i); } for(int i=0;i<n;i++){ add(i+1,1); } long long ans=0; for(int i=0;i<m;i++){ s[i]=-s[i]; int p=a[s[i]].back(); a[s[i]].pop_back(); ans+=ask(i+1,p-1); add(p,-1); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...