Submission #998470


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef unsigned __int128 TYPE;
const int BASE=128;
TYPE HIGH=((TYPE)1)<<(BASE-1);
int N;
int A[100000];
TYPE B[(100000+BASE-1)/BASE+3];
char S[100000];

void orb(int n)
{
    for(int i=0; i*BASE<n; i++)
        B[i]|=(B[i]>>1)|((B[i+1]&1)<<(BASE-1));
}

void andb(int n)
{
    for(int i=0; i*BASE<n; i++)
        B[i]&=(B[i]>>1)|((B[i+1]&1)<<(BASE-1));
}

bool solve()
{
    for(int i=0; i<N-1; i++)
    {
        if(S[i]=='M')
            orb(N-i);
        else
            andb(N-i);
    }
    return B[0]&1;
}

int main()
{
    scanf("%d", &N);
    for(int i=0; i<N; i++)
        scanf("%d", A+i);
    scanf("%s", S);
    int lo=1, mid, hi=N;
    while(lo<hi)
    {
        mid=(lo+hi+1)/2;
        for(int i=0; i*BASE<N; i++)
            B[i]=0;
        for(int i=0; i<N; i++)
            B[i/BASE]|=((TYPE)(A[i]>=mid))<<(i%BASE);
        if(solve())
            lo=mid;
        else
            hi=mid-1;
    }
    printf("%d\n", lo);
    return 0;
}

Submission Info

Submission Time
Task B - Compression
User FatalEagle
Language C++14 (GCC 5.4.1)
Score 1400
Code Size 1063 Byte
Status AC
Exec Time 1109 ms
Memory 896 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:39:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &N);
                    ^
./Main.cpp:41:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", A+i);
                         ^
./Main.cpp:42:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%s", S);
                   ^

Judge Result

Set Name Sample subtask1 subtask2 All
Score / Max Score 0 / 0 400 / 400 800 / 800 200 / 200
Status
AC × 4
AC × 13
AC × 13
AC × 49
Set Name Test Cases
Sample sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt
subtask1 sample_2.txt, subtask_1.2_1.txt, subtask_1.2_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
subtask2 sample_1.txt, subtask_1.2_1.txt, subtask_1.2_2.txt, subtask_2_1.txt, subtask_2_10.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt
All sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 2_1.txt, 2_2.txt, subtask_1.2_1.txt, subtask_1.2_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_10.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_10.txt, subtask_3_11.txt, subtask_3_12.txt, subtask_3_13.txt, subtask_3_14.txt, subtask_3_15.txt, subtask_3_16.txt, subtask_3_17.txt, subtask_3_18.txt, subtask_3_19.txt, subtask_3_2.txt, subtask_3_20.txt, subtask_3_21.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt
Case Name Status Exec Time Memory
2_1.txt AC 3 ms 256 KB
2_2.txt AC 2 ms 256 KB
sample_1.txt AC 3 ms 256 KB
sample_2.txt AC 2 ms 256 KB
sample_3.txt AC 3 ms 256 KB
sample_4.txt AC 3 ms 256 KB
subtask_1.2_1.txt AC 3 ms 256 KB
subtask_1.2_2.txt AC 3 ms 256 KB
subtask_1_1.txt AC 967 ms 768 KB
subtask_1_10.txt AC 1070 ms 768 KB
subtask_1_2.txt AC 1105 ms 896 KB
subtask_1_3.txt AC 1109 ms 768 KB
subtask_1_4.txt AC 876 ms 640 KB
subtask_1_5.txt AC 16 ms 256 KB
subtask_1_6.txt AC 1026 ms 768 KB
subtask_1_7.txt AC 3 ms 256 KB
subtask_1_8.txt AC 1060 ms 768 KB
subtask_1_9.txt AC 1068 ms 896 KB
subtask_2_1.txt AC 1020 ms 768 KB
subtask_2_10.txt AC 1020 ms 768 KB
subtask_2_2.txt AC 1020 ms 768 KB
subtask_2_3.txt AC 1021 ms 768 KB
subtask_2_4.txt AC 1021 ms 768 KB
subtask_2_5.txt AC 3 ms 256 KB
subtask_2_6.txt AC 3 ms 256 KB
subtask_2_7.txt AC 3 ms 256 KB
subtask_2_8.txt AC 985 ms 768 KB
subtask_2_9.txt AC 57 ms 384 KB
subtask_3_1.txt AC 1026 ms 768 KB
subtask_3_10.txt AC 966 ms 768 KB
subtask_3_11.txt AC 1028 ms 768 KB
subtask_3_12.txt AC 969 ms 768 KB
subtask_3_13.txt AC 913 ms 768 KB
subtask_3_14.txt AC 969 ms 768 KB
subtask_3_15.txt AC 895 ms 768 KB
subtask_3_16.txt AC 896 ms 768 KB
subtask_3_17.txt AC 1093 ms 768 KB
subtask_3_18.txt AC 1093 ms 768 KB
subtask_3_19.txt AC 1076 ms 768 KB
subtask_3_2.txt AC 966 ms 768 KB
subtask_3_20.txt AC 1076 ms 768 KB
subtask_3_21.txt AC 1076 ms 768 KB
subtask_3_3.txt AC 19 ms 256 KB
subtask_3_4.txt AC 830 ms 640 KB
subtask_3_5.txt AC 623 ms 640 KB
subtask_3_6.txt AC 1027 ms 768 KB
subtask_3_7.txt AC 1027 ms 768 KB
subtask_3_8.txt AC 1026 ms 768 KB
subtask_3_9.txt AC 1027 ms 768 KB