Submission #758057

#TimeUsernameProblemLanguageResultExecution timeMemory
758057Adrian_SoriagaGym Badges (NOI22_gymbadges)C++14
9 / 100
2089 ms6512 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int check(vector<string> action,vector<int> exp, vector<int> levels){
    int ans =0, ce= 0;
    for (int i=0;i<action.size();i++){
        int n = stoi(action[i]+ string());
        if (ce<=levels[n]) {ans += 1; ce += exp[n];}
        else break;
    }
    return ans;
}
int gen(string s,vector<int> exp, vector<int> levels){
    int ans =0;
    string a,b,c,d,e,f,g,h,z;
    if (s.size()==1){
        vector<vector<string>> y=  {{"0"}};
        for (int i =0;i<y.size();i++){
            ans = max(ans,check(y[i],exp,levels));
        }
    }
    else if (s.size() ==2){
       vector<vector<string>> y=  {{"0","1"},{"1","0"}};
        for (int i =0;i<y.size();i++){
            ans = max(ans,check(y[i],exp,levels));}
    }
    else if (s.size() ==3){
        vector<vector<string>> y={{"0","1","2"},{"0","2","1"},{"1","2","0"},{"1","0","2"},{"2","0","1"},{"2","1","0"}};
        for (int i =0;i<y.size();i++){
            ans = max(ans,check(y[i],exp,levels));}
    }
    else if (s.size() ==4){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++){
            vector<string> t = {"0","1","2","3"};
            a= t[i];
            t[i] = t[0]; t[0] = a; 
            b= t[j];
            t[j] = t[1]; t[1] = b; 
             c= t[k];
            t[k] = t[2]; t[2] = c; 
            ans = max(ans,check(t,exp,levels));
        }
    }
    else if (s.size() ==5){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++)
        for (int l =3;l<s.size(); l++){
            vector<string> t = {"0","1","2","3","4"};
             a= t[i];
            t[i] = t[0]; t[0] = a; 
            b= t[j];
            t[j] = t[1]; t[1] = b; 
           c= t[k];
            t[k] = t[2]; t[2] = c; 
           d= t[l];
            t[l]=  t[3]; t[3] = d;
            ans = max(ans,check(t,exp,levels));
        }
    }
    else if (s.size() ==6){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++)
        for (int l =3;l<s.size(); l++)
        for (int m =4;m<s.size(); m++){
            vector<string> t = {"0","1","2","3","4","5"};
            a= t[i];
            t[i] = t[0]; t[0] = a; 
          b= t[j];
            t[j] = t[1]; t[1] = b; 
             c= t[k];
            t[k] = t[2]; t[2] = c; 
            d= t[l];
            t[l]=  t[3]; t[3] = d;
            e = t[m];
            t[m] = t[4]; t[4] = e;
            ans = max(ans,check(t,exp,levels));
        }
    }
    else if (s.size() ==7){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++)
        for (int l =3;l<s.size(); l++)
        for (int m =4;m<s.size(); m++)
        for (int n =5;n<s.size(); n++){
            vector<string> t = {"0","1","2","3","4","5","6"};
             a= t[i];
            t[i] = t[0]; t[0] = a; 
             b= t[j];
            t[j] = t[1]; t[1] = b; 
           c= t[k];
            t[k] = t[2]; t[2] = c; 
          d= t[l];
            t[l]=  t[3]; t[3] = d;
             e = t[m];
            t[m] = t[4]; t[4] = e;
            f = t[n];
            t[n] = t[5]; t[5] = f;
            ans = max(ans,check(t,exp,levels));
        }
    }
    else if (s.size() ==8){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++)
        for (int l =3;l<s.size(); l++)
        for (int m =4;m<s.size(); m++)
        for (int n =5;n<s.size(); n++)
        for (int o =6;o<s.size(); o++){
            vector<string> t = {"0","1","2","3","4","5","6","7"};
         a= t[i];
            t[i] = t[0]; t[0] = a; 
            b= t[j];
            t[j] = t[1]; t[1] = b; 
             c= t[k];
            t[k] = t[2]; t[2] = c; 
          d= t[l];
            t[l]=  t[3]; t[3] = d;
           e = t[m];
            t[m] = t[4]; t[4] = e;
            f = t[n];
            t[n] = t[5]; t[5] = f;
           g = t[o];
            t[o] = t[6]; t[6] = g;
            ans = max(ans,check(t,exp,levels));
        }
    }
    else if (s.size() ==9){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++)
        for (int l =3;l<s.size(); l++)
        for (int m =4;m<s.size(); m++)
        for (int n =5;n<s.size(); n++)
        for (int o =6;o<s.size(); o++)
        for (int p =7;p<s.size(); p++){
            vector<string> t = {"0","1","2","3","4","5","6","7","8"};
             a= t[i];
            t[i] = t[0]; t[0] = a; 
            b= t[j];
            t[j] = t[1]; t[1] = b; 
             c= t[k];
            t[k] = t[2]; t[2] = c; 
             d= t[l];
            t[l]=  t[3]; t[3] = d;
             e = t[m];
            t[m] = t[4]; t[4] = e;
         f = t[n];
            t[n] = t[5]; t[5] = f;
            g = t[o];
            t[o] = t[6]; t[6] = g;
             h = t[p];
            t[p] = t[7]; t[7] = h;
            ans = max(ans,check(t,exp,levels));
        }
    }
    else if (s.size() ==10){
        for (int i =0;i<s.size(); i++)
        for (int j =1;j<s.size(); j++)
        for (int k =2;k<s.size(); k++)
        for (int l =3;l<s.size(); l++)
        for (int m =4;m<s.size(); m++)
        for (int n =5;n<s.size(); n++)
        for (int o =6;o<s.size(); o++)
        for (int p =7;p<s.size(); p++)
        for (int q =8;q<s.size(); q++){
            vector<string> t = {"0","1","2","3","4","5","6","7","8","9"};
             a= t[i];
            t[i] = t[0]; t[0] = a; 
             b= t[j];
            t[j] = t[1]; t[1] = b; 
            c= t[k];
            t[k] = t[2]; t[2] = c; 
             d= t[l];
            t[l]=  t[3]; t[3] = d;
             e = t[m];
            t[m] = t[4]; t[4] = e;
             f = t[n];
            t[n] = t[5]; t[5] = f;
             g = t[o];
            t[o] = t[6]; t[6] = g;
             h = t[p];
            t[p] = t[7]; t[7] = h;
             z= t[q];
            t[q] = t[8]; t[8] = q;
            ans = max(ans,check(t,exp,levels));
        }
    }
    return ans;
}
int main(){
    ios::sync_with_stdio(false);
    int n,x,ce=0,c=0; cin>>n;
    vector<int> exp, levels;
    for (int i =0; i<n; i++){
        cin>>x;
        exp.push_back(x);}
    for (int i =0; i<n; i++){
        cin>>x;
        levels.push_back(x);
    }
    if (n<=10){
        string z="";
        int m =0;
        for (int i=0; i<n;i++){z+="1";}
        cout<<gen(z,exp,levels);}
    else{
    sort(exp.begin(),exp.end());
    while (ce<=levels[0]){
        if (c==n){break;}
        ce += exp[c];
        c+=1;
    }
    cout<<c;}
    }

Compilation message (stderr)

Main.cpp: In function 'int check(std::vector<std::__cxx11::basic_string<char> >, std::vector<int>, std::vector<int>)':
Main.cpp:6:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 |     for (int i=0;i<action.size();i++){
      |                  ~^~~~~~~~~~~~~~
Main.cpp: In function 'int gen(std::string, std::vector<int>, std::vector<int>)':
Main.cpp:18:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |         for (int i =0;i<y.size();i++){
      |                       ~^~~~~~~~~
Main.cpp:24:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         for (int i =0;i<y.size();i++){
      |                       ~^~~~~~~~~
Main.cpp:29:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         for (int i =0;i<y.size();i++){
      |                       ~^~~~~~~~~
Main.cpp:33:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:34:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:35:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         for (int k =2;k<s.size(); k++){
      |                       ~^~~~~~~~~
Main.cpp:47:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:48:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:49:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |         for (int k =2;k<s.size(); k++)
      |                       ~^~~~~~~~~
Main.cpp:50:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |         for (int l =3;l<s.size(); l++){
      |                       ~^~~~~~~~~
Main.cpp:64:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:65:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:66:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |         for (int k =2;k<s.size(); k++)
      |                       ~^~~~~~~~~
Main.cpp:67:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |         for (int l =3;l<s.size(); l++)
      |                       ~^~~~~~~~~
Main.cpp:68:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |         for (int m =4;m<s.size(); m++){
      |                       ~^~~~~~~~~
Main.cpp:84:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   84 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:85:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   85 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:86:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   86 |         for (int k =2;k<s.size(); k++)
      |                       ~^~~~~~~~~
Main.cpp:87:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   87 |         for (int l =3;l<s.size(); l++)
      |                       ~^~~~~~~~~
Main.cpp:88:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   88 |         for (int m =4;m<s.size(); m++)
      |                       ~^~~~~~~~~
Main.cpp:89:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   89 |         for (int n =5;n<s.size(); n++){
      |                       ~^~~~~~~~~
Main.cpp:107:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  107 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:108:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  108 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:109:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  109 |         for (int k =2;k<s.size(); k++)
      |                       ~^~~~~~~~~
Main.cpp:110:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  110 |         for (int l =3;l<s.size(); l++)
      |                       ~^~~~~~~~~
Main.cpp:111:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  111 |         for (int m =4;m<s.size(); m++)
      |                       ~^~~~~~~~~
Main.cpp:112:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  112 |         for (int n =5;n<s.size(); n++)
      |                       ~^~~~~~~~~
Main.cpp:113:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  113 |         for (int o =6;o<s.size(); o++){
      |                       ~^~~~~~~~~
Main.cpp:133:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  133 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:134:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  134 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:135:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  135 |         for (int k =2;k<s.size(); k++)
      |                       ~^~~~~~~~~
Main.cpp:136:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  136 |         for (int l =3;l<s.size(); l++)
      |                       ~^~~~~~~~~
Main.cpp:137:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  137 |         for (int m =4;m<s.size(); m++)
      |                       ~^~~~~~~~~
Main.cpp:138:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  138 |         for (int n =5;n<s.size(); n++)
      |                       ~^~~~~~~~~
Main.cpp:139:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  139 |         for (int o =6;o<s.size(); o++)
      |                       ~^~~~~~~~~
Main.cpp:140:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  140 |         for (int p =7;p<s.size(); p++){
      |                       ~^~~~~~~~~
Main.cpp:162:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  162 |         for (int i =0;i<s.size(); i++)
      |                       ~^~~~~~~~~
Main.cpp:163:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  163 |         for (int j =1;j<s.size(); j++)
      |                       ~^~~~~~~~~
Main.cpp:164:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  164 |         for (int k =2;k<s.size(); k++)
      |                       ~^~~~~~~~~
Main.cpp:165:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  165 |         for (int l =3;l<s.size(); l++)
      |                       ~^~~~~~~~~
Main.cpp:166:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  166 |         for (int m =4;m<s.size(); m++)
      |                       ~^~~~~~~~~
Main.cpp:167:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  167 |         for (int n =5;n<s.size(); n++)
      |                       ~^~~~~~~~~
Main.cpp:168:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  168 |         for (int o =6;o<s.size(); o++)
      |                       ~^~~~~~~~~
Main.cpp:169:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  169 |         for (int p =7;p<s.size(); p++)
      |                       ~^~~~~~~~~
Main.cpp:170:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  170 |         for (int q =8;q<s.size(); q++){
      |                       ~^~~~~~~~~
Main.cpp: In function 'int main()':
Main.cpp:208:13: warning: unused variable 'm' [-Wunused-variable]
  208 |         int m =0;
      |             ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...