Submission #831797

# Submission time Handle Problem Language Result Execution time Memory
831797 2023-08-20T15:13:22 Z Kerim Miners (IOI07_miners) C++17
45 / 100
1500 ms 724 KB
#include "bits/stdc++.h"
#define pb(x) push_back(x)
using namespace std;
const int N = 1e5+5;
const int INF = 1e9+10;
char s[N];
int a[2], b[2];
int arr[N];
int bit[] = {0, 1, 1, 2, 1, 2, 2, 3};
int f(int x, int y, int z){
    int mask = 0;
    if (x) mask |= (1<<(x-1));
    if (y) mask |= (1<<(y-1));
    if (z) mask |= (1<<(z-1));
    return bit[mask];
}
int main(){
    // freopen("file.in", "r", stdin);
    // freopen("file.out", "w", stdout);
    int n;
    scanf("%d", &n);
    scanf("%s", s);
    for (int i = 0; i < n; i++){
        if (s[i] == 'M') arr[i] = 1;
        else if(s[i] == 'F') arr[i] = 2;
        else arr[i] = 3;
    }
    int answer = 0;
    for (int mask = 0; mask < (1<<n); mask++){
        a[0] = a[1] = 0;
        b[0] = b[1] = 0;
        int cost = 0;
        for (int i = 0; i < n; i++){
            if (mask>>i&1){
                cost += f(a[0], a[1], arr[i]);
                a[0] = a[1]; a[1] = arr[i];
            }
            else{
                cost += f(b[0], b[1], arr[i]);
                b[0] = b[1]; b[1] = arr[i];
            }
        }
        answer = max(answer, cost);
    }
    printf("%d\n", answer);
}

Compilation message

miners.cpp: In function 'int main()':
miners.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
miners.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |     scanf("%s", s);
      |     ~~~~~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 43 ms 284 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 88 ms 284 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1573 ms 212 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1046 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 11 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1564 ms 596 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 724 KB Output isn't correct
2 Halted 0 ms 0 KB -