Submission #1292074


Source Code Expand

#include <iostream>
#include <algorithm>
#include <vector>
#define REP(i, n) for(int i = 0; i < (int)(n); ++i)
using namespace std;


int replace(int N, char S[]) {
	int vs[4][100000] = { 0 }, len[4] = { 0 };
	REP(i, N) {
		if (S[i] == 'I') vs[0][len[0]++] = i;
		if (S[i] == 'J') vs[1][len[1]++] = i;
		if (S[i] == 'P') vs[2][len[2]++] = i;
		if (S[i] == 'C') vs[3][len[3]++] = i;
	}

	int res = 4;
	REP(pat, 1 << 4) {
		int next = 0;
		int cur = 0;
		bool ok = true;
		REP(i, 4) {
			if (pat & (1 << i)) {
				//vector<int>::iterator p = lower_bound(vs[i].begin(), vs[i].end(), next);
				if (len[i] == 0) {
					ok = false;
					break;
				}
				if (vs[i][len[i] - 1]<next) {
					ok = false;
					break;
				}
				int p = 0;
				if (vs[i][0] < next) {
					int lb = 0, ub = len[i] - 1;
					while (lb + 1 < ub) {
						int med = (lb + ub) / 2;
						if (next <= vs[i][med])ub = med;
						else lb = med;
					}
					p = ub;
				}
				next = p + 1;
			}
			else {
				if (next < N) {
					++cur;
					++next;
				}
				else {
					ok = false;
					break;
				}
			}
		}
		if (ok) {
			res = min(res, cur);
		}
	}

	return res;
}

Submission Info

Submission Time
Task A - 国際情報オリンピック日本代表プログラミングコンテスト (Welcome to IJPC)
User eukaryo
Language IOI-Style C++ (GCC 5.4.1)
Score 0
Code Size 1194 Byte
Status WA
Exec Time 2 ms
Memory 1920 KB

Compile Error

./grader.cpp: In function ‘int main()’:
./grader.cpp:10:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%s", &N, S);
                       ^

Judge Result

Set Name Subtask1 Subtask2
Score / Max Score 0 / 50 0 / 50
Status
AC × 10
WA × 4
AC × 8
WA × 5
Set Name Test Cases
Subtask1 subtask1/1, subtask1/10, subtask1/11, subtask1/12, subtask1/13, subtask1/14, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7, subtask1/8, subtask1/9
Subtask2 subtask2/1, subtask2/10, subtask2/11, subtask2/12, subtask2/13, subtask2/2, subtask2/3, subtask2/4, subtask2/5, subtask2/6, subtask2/7, subtask2/8, subtask2/9
Case Name Status Exec Time Memory
subtask1/1 AC 2 ms 1792 KB
subtask1/10 AC 2 ms 1792 KB
subtask1/11 AC 2 ms 1792 KB
subtask1/12 AC 2 ms 1792 KB
subtask1/13 AC 2 ms 1792 KB
subtask1/14 WA 2 ms 1792 KB
subtask1/2 WA 2 ms 1792 KB
subtask1/3 WA 2 ms 1792 KB
subtask1/4 AC 2 ms 1792 KB
subtask1/5 AC 2 ms 1792 KB
subtask1/6 WA 2 ms 1792 KB
subtask1/7 AC 2 ms 1792 KB
subtask1/8 AC 2 ms 1792 KB
subtask1/9 AC 2 ms 1792 KB
subtask2/1 AC 2 ms 1792 KB
subtask2/10 WA 2 ms 1920 KB
subtask2/11 AC 2 ms 1920 KB
subtask2/12 AC 2 ms 1920 KB
subtask2/13 WA 2 ms 1920 KB
subtask2/2 AC 2 ms 1792 KB
subtask2/3 WA 2 ms 1792 KB
subtask2/4 AC 2 ms 1792 KB
subtask2/5 AC 2 ms 1792 KB
subtask2/6 AC 2 ms 1920 KB
subtask2/7 AC 2 ms 1920 KB
subtask2/8 WA 2 ms 1920 KB
subtask2/9 WA 2 ms 1920 KB