Submission #927867

#TimeUsernameProblemLanguageResultExecution timeMemory
927867UnforgettableplGrowing Vegetable is Fun 3 (JOI19_ho_t3)C++17
5 / 100
1048 ms600 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int INF = 1e15; int n; int calc(vector<int> arr,int start,int mask){ vector<int> target = {start}; for(int bit=0;bit<n;bit++){ target.emplace_back(target.back()+1); if(mask&(1<<bit))target.back()++; target.back()%=3; } int ans = 0; for(int i=0;i<arr.size();i++){ int idx = find(arr.begin()+i, arr.end(),target[i])-arr.begin(); if(idx==arr.size())return INF; ans+=idx-i; arr.erase(arr.begin()+idx); arr.insert(arr.begin()+i,target[i]); } return ans; } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> n; vector<int> arr; for(int i=1;i<=n;i++){ char a; cin>>a; if(a=='R') arr.emplace_back(0); else if(a=='G') arr.emplace_back(1); else arr.emplace_back(2); } int ans = INF; n--; for(int start=0;start<3;start++){ for(int mask=0;mask<(1<<n);mask++){ ans = min(ans,calc(arr,start,mask)); } } cout << (ans>=INF ? -1 : ans) << '\n'; }

Compilation message (stderr)

joi2019_ho_t3.cpp: In function 'long long int calc(std::vector<long long int>, long long int, long long int)':
joi2019_ho_t3.cpp:17:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for(int i=0;i<arr.size();i++){
      |                 ~^~~~~~~~~~~
joi2019_ho_t3.cpp:19:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |         if(idx==arr.size())return INF;
      |            ~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...