Submission #870134

#TimeUsernameProblemLanguageResultExecution timeMemory
870134Ahmed_SolymanBoarding Passes (BOI22_passes)C++14
30 / 100
2063 ms1308 KiB
/* In the name of Allah made by: Ahmed_Solyman */ #include <bits/stdc++.h> #include <ext/rope> using namespace std; using namespace __gnu_cxx; #pragma GCC optimize("-Ofast") #pragma GCC optimize("-O1") //-------------------------------------------------------------// typedef long long ll; typedef unsigned long long ull; #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define PI acos(-1) #define lb lower_bound #define ub upper_bound #define endl '\n' #define all(v) v.begin(),v.end() #define allr(v) v.rbegin(),v.rend() #define sum_to(n) (n*(n+1))/2 #define pb push_back #define pf push_front #define fil(arr,x) memset(arr,x,sizeof(arr)) const ll mod=1e9+7; int dx[8]={0,1,0,-1,1,1,-1,-1}; int dy[8]={1,0,-1,0,1,-1,-1,1}; //-------------------------------------------------------------// ll lcm(ll a,ll b) { return (max(a,b)/__gcd(a,b))*min(a,b); } void person_bool(bool x) { cout<<(x?"YES":"NO")<<endl; } int main() { //freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout); #ifndef ONLINE_JUDGE //freopen("input.in", "r", stdin); //freopen("output.out", "w", stdout); #endif fast string s;cin>>s; vector<int>g[15]; int i=0; int mx=0; for(char c:s){ mx=max(mx,c-'A'); g[c-'A'].push_back(i++); } vector<int>v; for(int i=0;i<=mx;i++)v.push_back(i); double ans=4e18; do{ double p=0; for(int c=0;c<=mx;c++){ for(int j=0;j<g[v[c]].size();j++){ int a=0,b=0; for(int k=0;k<c;k++){ for(auto h:g[v[k]]){ a+=h<g[v[c]][j]; b+=h>g[v[c]][j]; } } p+=min(a+j/2.0,b+(g[v[c]].size()-j-1)/2.0); } } ans=min(ans,p); }while(next_permutation(all(v))); cout<<fixed<<setprecision(6)<<ans<<" "; return 0; }

Compilation message (stderr)

passes.cpp: In function 'int main()':
passes.cpp:61:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |             for(int j=0;j<g[v[c]].size();j++){
      |                         ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...