Submission #25524
Source Code Expand
#include<cstdio> #include<vector> #include<algorithm> #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; typedef long long ll; const int N_MAX=100000; template<class T> class Fenwick_tree{ int n; T a[N_MAX]; public: void build(int n){ this->n=n; rep(i,n) a[i]=0; } void add(int i,T v){ for(;i<n;i|=i+1) a[i]+=v; } T sum(int i,int j){ if(i==0){ T s=0; for(;j>=0;j=(j&(j+1))-1) s+=a[j]; return s; } return sum(0,j)-sum(0,i-1); } }; ll count_inversion(int n,const int *a){ static Fenwick_tree<ll> F; F.build(n); ll res=0; rep(i,n){ res+=F.sum(a[i]+1,n-1); F.add(a[i],1); } return res; } ll best_swap(int n,int m,int E[][2]){ if(n==1) return 0; static vector<int> G[100000]; rep(i,m){ G[E[i][0]].push_back(E[i][1]); G[E[i][1]].push_back(E[i][0]); } int u0=-1; rep(u,n) if(G[u].size()==1) u0=u; if(u0==-1) return -1; int u=u0,pre=-1; static int seq[100000]; seq[0]=u0; rep(i,n-1){ int tmp=u; if(G[u][0]!=pre) u=G[u][0]; else u=G[u][1]; seq[i+1]=u; pre=tmp; } static int seq2[100000]; rep(i,n) seq2[i]=seq[n-i-1]; return min(count_inversion(n,seq),count_inversion(n,seq2)); }
Submission Info
Submission Time | |
---|---|
Task | A - 国際道迷いオリンピック(International Michimayoi Olympic) |
User | fura2 |
Language | IOI-Style C++ (GCC 5.4.1) |
Score | 54 |
Code Size | 1252 Byte |
Status | WA |
Exec Time | 208 ms |
Memory | 10364 KB |
Judge Result
Set Name | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 44 / 44 | 0 / 46 | ||||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Subtask1 | subtask1/1, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7 |
Subtask2 | subtask1/1, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7, subtask2/1, subtask2/2, subtask2/3, subtask2/4, subtask2/5, subtask2/6 |
Subtask3 | subtask1/1, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7, subtask2/1, subtask2/2, subtask2/3, subtask2/4, subtask2/5, subtask2/6, subtask3/1, subtask3/2, subtask3/3, subtask3/4, subtask3/5, subtask3/6, subtask3/7, subtask3/8, subtask3/9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask1/1 | AC | 25 ms | 3068 KB |
subtask1/2 | AC | 25 ms | 3092 KB |
subtask1/3 | AC | 25 ms | 3060 KB |
subtask1/4 | AC | 26 ms | 3072 KB |
subtask1/5 | AC | 25 ms | 3212 KB |
subtask1/6 | AC | 27 ms | 3200 KB |
subtask1/7 | AC | 21 ms | 788 KB |
subtask2/1 | AC | 29 ms | 3324 KB |
subtask2/2 | AC | 44 ms | 4216 KB |
subtask2/3 | AC | 108 ms | 7164 KB |
subtask2/4 | AC | 135 ms | 8580 KB |
subtask2/5 | AC | 141 ms | 8556 KB |
subtask2/6 | AC | 142 ms | 8568 KB |
subtask3/1 | WA | 54 ms | 4592 KB |
subtask3/2 | WA | 64 ms | 5372 KB |
subtask3/3 | WA | 59 ms | 5620 KB |
subtask3/4 | WA | 78 ms | 6528 KB |
subtask3/5 | AC | 110 ms | 7036 KB |
subtask3/6 | WA | 171 ms | 9208 KB |
subtask3/7 | WA | 202 ms | 10356 KB |
subtask3/8 | WA | 208 ms | 10364 KB |
subtask3/9 | WA | 25 ms | 3104 KB |