Submission #359039

#TimeUsernameProblemLanguageResultExecution timeMemory
359039MilosMilutinovicMiners (IOI07_miners)C++14
45 / 100
521 ms492 KiB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
void ckmax(int&a,int b){a=max(a,b);}
void ckmin(int&a,int b){a=min(a,b);}
const int N=100050;
int n;
char s[N];
void BruteForce(){
    int ans=0;
    for(int i=0;i<(1<<n);i++){
        vector<char> A,B;
        for(int j=0;j<n;j++){
            if(i&(1<<j))A.pb(s[j]);
            else B.pb(s[j]);
        }
        int sum=0;
        for(int j=0;j<(int)A.size();j++){
            if(j==0)sum+=1;
            else{
                if(j==1)sum+=1+(A[j]!=A[j-1]?1:0);
                else sum+=1+(A[j]!=A[j-1]||A[j]!=A[j-2]?1:0)+((A[j]!=A[j-1]&&A[j]!=A[j-2]&&A[j-1]!=A[j-2])?1:0);
            }
        }
        for(int j=0;j<(int)B.size();j++){
            if(j==0)sum+=1;
            else{
                if(j==1)sum+=1+(B[j]!=B[j-1]?1:0);
                else sum+=1+(B[j]!=B[j-1]||B[j]!=B[j-2]?1:0)+((B[j]!=B[j-1]&&B[j]!=B[j-2]&&B[j-1]!=B[j-2])?1:0);
            }
        }
        ckmax(ans,sum);
    }
    printf("%i",ans);
}
int main(){
    scanf("%i",&n);
    scanf("%s",s);
    if(n<=20)BruteForce();
    else printf("mudja");
    return 0;
}

Compilation message (stderr)

miners.cpp: In function 'int main()':
miners.cpp:37:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   37 |     scanf("%i",&n);
      |     ~~~~~^~~~~~~~~
miners.cpp:38:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   38 |     scanf("%s",s);
      |     ~~~~~^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...