Submission #538864

# Submission time Handle Problem Language Result Execution time Memory
538864 2022-03-17T22:58:57 Z Antekb Growing Vegetable is Fun 3 (JOI19_ho_t3) C++14
15 / 100
2 ms 1108 KB
#include<bits/stdc++.h>
using namespace std;
int ans;
string s;

int main(){
    int n;
    cin>>n;
    cin>>s;
    vector<int> V[3];
    for(int i=0; i<n; i++){
        int c=0;
        if(s[i]=='G')c=1;
        if(s[i]=='R')c=2;
        V[c].push_back(i+1);
    }
    vector<vector<vector<vector<int> > > > dp(3, vector<vector<vector<int> > >(V[0].size()+1
        , vector<vector<int>>(V[1].size()+1, vector<int>(V[2].size()+1, 1e9))));
    dp[0][0][0][0]=dp[1][0][0][0]=dp[2][0][0][0]=0;
    for(int s=1; s<=n; s++){
    for(int i=0; i<=V[0].size(); i++){
        for(int j=0; j<=V[1].size(); j++){
            //for(int k=0; k<=V[2].size(); k++){
                int k=s-i-j;
                if(k<0 || k>V[2].size())continue;
                //if(!k && !i && !j)continue;
                if(i)dp[0][i][j][k]=min(dp[1][i-1][j][k], dp[2][i-1][j][k])+abs(i+j+k-V[0][i-1]);
                if(j)dp[1][i][j][k]=min(dp[0][i][j-1][k], dp[2][i][j-1][k])+abs(i+j+k-V[1][j-1]);
                if(k)dp[2][i][j][k]=min(dp[1][i][j][k-1], dp[0][i][j][k-1])+abs(i+j+k-V[2][k-1]);
            //}
            //cout<<i<<" "<<j<<" "<<k<<" "<<dp[0][i][j][k]<<" "<<dp[1][i][j][k]<<" "<<dp[2][i][j][k]<<"\n";
        }
    }
    }
    int a=V[0].size(), b=V[1].size(), c=V[2].size();
    //cout<<a<<" "<<b<<" "<<c<<" ";
    /*for(int i=0; i<=a; i++){
        for(int j=0; j<=b; j++){
            for(int k=0; k<=b;)
        }
    }*/
    int k=min({dp[0][a][b][c], dp[1][a][b][c], dp[2][a][b][c]});
    if(k>=1e9)cout<<-1;
    else cout<<k/2<<"\n";
}

Compilation message

joi2019_ho_t3.cpp: In function 'int main()':
joi2019_ho_t3.cpp:21:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |     for(int i=0; i<=V[0].size(); i++){
      |                  ~^~~~~~~~~~~~~
joi2019_ho_t3.cpp:22:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         for(int j=0; j<=V[1].size(); j++){
      |                      ~^~~~~~~~~~~~~
joi2019_ho_t3.cpp:25:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |                 if(k<0 || k>V[2].size())continue;
      |                           ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Incorrect 0 ms 212 KB Output isn't correct
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Incorrect 0 ms 212 KB Output isn't correct
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 1 ms 1108 KB Output is correct
4 Correct 1 ms 1108 KB Output is correct
5 Correct 1 ms 1108 KB Output is correct
6 Correct 1 ms 1108 KB Output is correct
7 Correct 1 ms 1108 KB Output is correct
8 Correct 1 ms 1108 KB Output is correct
9 Correct 1 ms 1108 KB Output is correct
10 Correct 1 ms 1108 KB Output is correct
11 Correct 1 ms 1108 KB Output is correct
12 Correct 1 ms 468 KB Output is correct
13 Correct 1 ms 596 KB Output is correct
14 Correct 1 ms 852 KB Output is correct
15 Correct 2 ms 1108 KB Output is correct
16 Correct 1 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Incorrect 0 ms 212 KB Output isn't correct
12 Halted 0 ms 0 KB -