Submission #998718


Source Code Expand

#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <climits>
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <queue>
#include <vector>
#include <sstream>
#include <typeinfo>
#include <fstream>

#define DIV 1000000007

using namespace std;

long long K;
long long maxilen;
long long minilen;
string S;

map<pair<int, int>, long> memo;


long dfs(int pos, int maxinum, int mininum){
	//cout << "mininum = " << mininum << " maxinum " << maxinum << " pos = " << pos << endl;
	if(maxinum == 0 && mininum == 0){
		return 0;
	}
	if(memo.count(make_pair(maxinum, mininum)) != 0){
		return memo[make_pair(maxinum, mininum)];
	}

	//choose maxi
	long f = -1;
	long s = -1;
	if(maxinum > 0){
		f = max(f, dfs(pos + maxilen, maxinum - 1, mininum));
		//cout << "mininum = " << mininum << " maxinum " << maxinum << " pos = " << pos << " maxi " << atol(S.substr(pos, maxilen).c_str()) << endl;
		f = max(f, atol(S.substr(pos, maxilen).c_str()));
	}
	//choose mini
	if(mininum > 0){
		s = max(s, dfs(pos + minilen, maxinum, mininum - 1));
		s = max(s, atol(S.substr(pos, minilen).c_str()));
		//cout << "mininum = " << mininum << " maxinum " << maxinum << " pos = " << pos << " mini " << atol(S.substr(pos, minilen).c_str())<< endl;
	}
	if(s == -1){
		memo[make_pair(maxinum, mininum)] = f;
		return f;
	}
	if(f == -1){
		memo[make_pair(maxinum, mininum)] = s;
		return s;
	}
	memo[make_pair(maxinum, mininum)] = min(f, s);
	return min(f, s);
}


int main(){
	cin >> K >> S;
	long long Slen = S.size();
	long long maxinum;
	long long mininum;
	if(Slen%(K+1) == 0){
		maxilen = Slen/(K+1);
		minilen = maxilen-1;
		for(int i = 0; i <= K+1; i++){
			if(maxilen * i + minilen * (K+1-i) == Slen){
				maxinum = i;
				mininum = K+1-i;
				break;
			}

		}
	}else{
		maxilen = Slen/(K+1) + 1;
		minilen = maxilen-1;
		for(int i = 0; i <= K+1; i++){
			if(maxilen * i + minilen * (K+1-i) == Slen){
				maxinum = i;
				mininum = K+1-i;
				break;
			}

		}
	}
	//cout << "maxinum " << maxinum << endl;
	//cout << "mininum " << mininum << endl;
	cout << dfs(0, maxinum, mininum) << endl;;

	//dfs(0, 

}

Submission Info

Submission Time
Task B - Problem where Commas Separate Digits
User motomuman
Language C++14 (GCC 5.4.1)
Score 200
Code Size 2241 Byte
Status WA
Exec Time 3160 ms
Memory 118912 KB

Judge Result

Set Name Sample Dataset1 Dataset2 Dataset3 Dataset4 Dataset5
Score / Max Score 0 / 0 100 / 100 100 / 100 0 / 200 0 / 200 0 / 400
Status
AC × 3
AC × 17
AC × 32
AC × 47
WA × 2
AC × 59
WA × 5
AC × 67
WA × 7
TLE × 5
Set Name Test Cases
Sample subtask_02_ex1.txt, subtask_03_ex2.txt, subtask_03_ex3.txt
Dataset1 subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt
Dataset2 subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_02_01.txt, subtask_02_02.txt, subtask_02_03.txt, subtask_02_04.txt, subtask_02_05.txt, subtask_02_06.txt, subtask_02_07.txt, subtask_02_08.txt, subtask_02_09.txt, subtask_02_10.txt, subtask_02_11.txt, subtask_02_12.txt, subtask_02_13.txt, subtask_02_14.txt, subtask_02_ex1.txt
Dataset3 subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_02_01.txt, subtask_02_02.txt, subtask_02_03.txt, subtask_02_04.txt, subtask_02_05.txt, subtask_02_06.txt, subtask_02_07.txt, subtask_02_08.txt, subtask_02_09.txt, subtask_02_10.txt, subtask_02_11.txt, subtask_02_12.txt, subtask_02_13.txt, subtask_02_14.txt, subtask_02_ex1.txt, subtask_03_01.txt, subtask_03_02.txt, subtask_03_03.txt, subtask_03_04.txt, subtask_03_05.txt, subtask_03_06.txt, subtask_03_07.txt, subtask_03_08.txt, subtask_03_09.txt, subtask_03_10.txt, subtask_03_11.txt, subtask_03_12.txt, subtask_03_13.txt, subtask_03_14.txt, subtask_03_15.txt, subtask_03_ex2.txt, subtask_03_ex3.txt
Dataset4 subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_02_01.txt, subtask_02_02.txt, subtask_02_03.txt, subtask_02_04.txt, subtask_02_05.txt, subtask_02_06.txt, subtask_02_07.txt, subtask_02_08.txt, subtask_02_09.txt, subtask_02_10.txt, subtask_02_11.txt, subtask_02_12.txt, subtask_02_13.txt, subtask_02_14.txt, subtask_02_ex1.txt, subtask_03_01.txt, subtask_03_02.txt, subtask_03_03.txt, subtask_03_04.txt, subtask_03_05.txt, subtask_03_06.txt, subtask_03_07.txt, subtask_03_08.txt, subtask_03_09.txt, subtask_03_10.txt, subtask_03_11.txt, subtask_03_12.txt, subtask_03_13.txt, subtask_03_14.txt, subtask_03_15.txt, subtask_03_ex2.txt, subtask_03_ex3.txt, subtask_04_01.txt, subtask_04_02.txt, subtask_04_03.txt, subtask_04_04.txt, subtask_04_05.txt, subtask_04_06.txt, subtask_04_07.txt, subtask_04_08.txt, subtask_04_09.txt, subtask_04_10.txt, subtask_04_11.txt, subtask_04_12.txt, subtask_04_13.txt, subtask_04_14.txt, subtask_04_15.txt
Dataset5 subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_02_01.txt, subtask_02_02.txt, subtask_02_03.txt, subtask_02_04.txt, subtask_02_05.txt, subtask_02_06.txt, subtask_02_07.txt, subtask_02_08.txt, subtask_02_09.txt, subtask_02_10.txt, subtask_02_11.txt, subtask_02_12.txt, subtask_02_13.txt, subtask_02_14.txt, subtask_02_ex1.txt, subtask_03_01.txt, subtask_03_02.txt, subtask_03_03.txt, subtask_03_04.txt, subtask_03_05.txt, subtask_03_06.txt, subtask_03_07.txt, subtask_03_08.txt, subtask_03_09.txt, subtask_03_10.txt, subtask_03_11.txt, subtask_03_12.txt, subtask_03_13.txt, subtask_03_14.txt, subtask_03_15.txt, subtask_03_ex2.txt, subtask_03_ex3.txt, subtask_04_01.txt, subtask_04_02.txt, subtask_04_03.txt, subtask_04_04.txt, subtask_04_05.txt, subtask_04_06.txt, subtask_04_07.txt, subtask_04_08.txt, subtask_04_09.txt, subtask_04_10.txt, subtask_04_11.txt, subtask_04_12.txt, subtask_04_13.txt, subtask_04_14.txt, subtask_04_15.txt, subtask_05_01.txt, subtask_05_02.txt, subtask_05_03.txt, subtask_05_04.txt, subtask_05_05.txt, subtask_05_06.txt, subtask_05_07.txt, subtask_05_08.txt, subtask_05_09.txt, subtask_05_10.txt, subtask_05_11.txt, subtask_05_12.txt, subtask_05_13.txt, subtask_05_14.txt, subtask_05_15.txt
Case Name Status Exec Time Memory
subtask_01_01.txt AC 3 ms 256 KB
subtask_01_02.txt AC 3 ms 256 KB
subtask_01_03.txt AC 3 ms 256 KB
subtask_01_04.txt AC 3 ms 256 KB
subtask_01_05.txt AC 3 ms 256 KB
subtask_01_06.txt AC 3 ms 256 KB
subtask_01_07.txt AC 3 ms 256 KB
subtask_01_08.txt AC 3 ms 256 KB
subtask_01_09.txt AC 3 ms 256 KB
subtask_01_10.txt AC 3 ms 256 KB
subtask_01_11.txt AC 3 ms 256 KB
subtask_01_12.txt AC 3 ms 256 KB
subtask_01_13.txt AC 3 ms 256 KB
subtask_01_14.txt AC 3 ms 256 KB
subtask_01_15.txt AC 3 ms 256 KB
subtask_01_16.txt AC 3 ms 256 KB
subtask_01_17.txt AC 3 ms 256 KB
subtask_02_01.txt AC 3 ms 256 KB
subtask_02_02.txt AC 3 ms 256 KB
subtask_02_03.txt AC 3 ms 256 KB
subtask_02_04.txt AC 3 ms 256 KB
subtask_02_05.txt AC 3 ms 256 KB
subtask_02_06.txt AC 3 ms 256 KB
subtask_02_07.txt AC 3 ms 256 KB
subtask_02_08.txt AC 3 ms 256 KB
subtask_02_09.txt AC 3 ms 256 KB
subtask_02_10.txt AC 3 ms 256 KB
subtask_02_11.txt AC 3 ms 256 KB
subtask_02_12.txt AC 3 ms 256 KB
subtask_02_13.txt AC 3 ms 256 KB
subtask_02_14.txt AC 3 ms 256 KB
subtask_02_ex1.txt AC 3 ms 256 KB
subtask_03_01.txt AC 3 ms 384 KB
subtask_03_02.txt AC 3 ms 256 KB
subtask_03_03.txt AC 3 ms 256 KB
subtask_03_04.txt AC 3 ms 256 KB
subtask_03_05.txt AC 3 ms 256 KB
subtask_03_06.txt AC 3 ms 256 KB
subtask_03_07.txt AC 3 ms 256 KB
subtask_03_08.txt WA 3 ms 256 KB
subtask_03_09.txt WA 3 ms 256 KB
subtask_03_10.txt AC 3 ms 256 KB
subtask_03_11.txt AC 3 ms 256 KB
subtask_03_12.txt AC 3 ms 256 KB
subtask_03_13.txt AC 3 ms 256 KB
subtask_03_14.txt AC 3 ms 256 KB
subtask_03_15.txt AC 3 ms 256 KB
subtask_03_ex2.txt AC 3 ms 256 KB
subtask_03_ex3.txt AC 3 ms 256 KB
subtask_04_01.txt AC 818 ms 31616 KB
subtask_04_02.txt AC 13 ms 1280 KB
subtask_04_03.txt AC 3 ms 512 KB
subtask_04_04.txt AC 3 ms 384 KB
subtask_04_05.txt AC 3 ms 384 KB
subtask_04_06.txt AC 3 ms 256 KB
subtask_04_07.txt AC 3 ms 256 KB
subtask_04_08.txt WA 3 ms 256 KB
subtask_04_09.txt WA 3 ms 256 KB
subtask_04_10.txt AC 4 ms 384 KB
subtask_04_11.txt AC 4 ms 384 KB
subtask_04_12.txt AC 4 ms 384 KB
subtask_04_13.txt WA 3 ms 256 KB
subtask_04_14.txt AC 13 ms 1280 KB
subtask_04_15.txt AC 14 ms 1280 KB
subtask_05_01.txt TLE 3160 ms 118912 KB
subtask_05_02.txt TLE 3160 ms 116352 KB
subtask_05_03.txt AC 64 ms 16000 KB
subtask_05_04.txt AC 32 ms 8192 KB
subtask_05_05.txt AC 107 ms 9728 KB
subtask_05_06.txt AC 18 ms 4224 KB
subtask_05_07.txt AC 15 ms 3456 KB
subtask_05_08.txt WA 6 ms 512 KB
subtask_05_09.txt WA 6 ms 512 KB
subtask_05_10.txt AC 156 ms 10496 KB
subtask_05_11.txt AC 158 ms 10496 KB
subtask_05_12.txt AC 157 ms 10496 KB
subtask_05_13.txt TLE 3159 ms 100736 KB
subtask_05_14.txt TLE 3159 ms 97024 KB
subtask_05_15.txt TLE 3159 ms 104192 KB