Submission #1972356


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
using namespace std;

int N;
string S;

long long I_cou[100010];
long long J_cou[100010];

int main()
{
    cin >> N;
    cin >> S;

    for (int i = 0; i < N; i++)
    {
        if (i > 0)
            J_cou[i] = J_cou[i - 1];
        if (S[i] == 'J')
            J_cou[i]++;
    }

    for (int i = N - 1; i >= 0; i--)
    {
        I_cou[i] = I_cou[i + 1];
        if (S[i] == 'I')
            I_cou[i]++;
    }

    long long O_result = 0;
    long long J_result = 0;
    long long I_result = 0;
    long long sum = 0;
    for (int i = 0; i < N; i++)
    {
        O_result = max(O_result, J_cou[i] * I_cou[i]);
        if (S[i] == 'O')
        {
            sum += J_cou[i] * I_cou[i];
            J_result += I_cou[i];
            I_result += J_cou[i];
        }
    }

    long long result = O_result;

    result = max(result, J_result);

    result = max(result, I_result);

    cout << result + sum << endl;
    return 0;
}

Submission Info

Submission Time
Task B - スタンプラリー 2 (Collecting Stamps 2)
User niuez
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1114 Byte
Status AC
Exec Time 6 ms
Memory 2048 KB

Judge Result

Set Name Subtask01 Subtask02 Subtask03
Score / Max Score 30 / 30 20 / 20 50 / 50
Status
AC × 18
AC × 33
AC × 48
Set Name Test Cases
Subtask01 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, sample-01.txt, sample-02.txt, sample-03.txt
Subtask02 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, sample-01.txt, sample-02.txt, sample-03.txt
Subtask03 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 1 ms 256 KB
01-04.txt AC 1 ms 256 KB
01-05.txt AC 1 ms 256 KB
01-06.txt AC 1 ms 256 KB
01-07.txt AC 1 ms 256 KB
01-08.txt AC 1 ms 256 KB
01-09.txt AC 1 ms 256 KB
01-10.txt AC 1 ms 256 KB
01-11.txt AC 1 ms 256 KB
01-12.txt AC 1 ms 256 KB
01-13.txt AC 1 ms 256 KB
01-14.txt AC 1 ms 256 KB
01-15.txt AC 1 ms 256 KB
02-01.txt AC 1 ms 256 KB
02-02.txt AC 1 ms 256 KB
02-03.txt AC 1 ms 256 KB
02-04.txt AC 1 ms 256 KB
02-05.txt AC 1 ms 256 KB
02-06.txt AC 1 ms 256 KB
02-07.txt AC 1 ms 256 KB
02-08.txt AC 1 ms 256 KB
02-09.txt AC 1 ms 256 KB
02-10.txt AC 1 ms 256 KB
02-11.txt AC 1 ms 256 KB
02-12.txt AC 1 ms 256 KB
02-13.txt AC 1 ms 256 KB
02-14.txt AC 1 ms 256 KB
02-15.txt AC 1 ms 256 KB
03-01.txt AC 6 ms 2048 KB
03-02.txt AC 6 ms 2048 KB
03-03.txt AC 6 ms 2048 KB
03-04.txt AC 6 ms 2048 KB
03-05.txt AC 6 ms 2048 KB
03-06.txt AC 6 ms 2048 KB
03-07.txt AC 6 ms 2048 KB
03-08.txt AC 6 ms 2048 KB
03-09.txt AC 6 ms 2048 KB
03-10.txt AC 6 ms 2048 KB
03-11.txt AC 6 ms 2048 KB
03-12.txt AC 6 ms 2048 KB
03-13.txt AC 6 ms 2048 KB
03-14.txt AC 6 ms 2048 KB
03-15.txt AC 6 ms 2048 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB