Submission #3878722


Source Code Expand

#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
#include <utility>
#include <queue>
#include <set>
#include <map>
#include <deque>
#include <iomanip>
#include <cstdio>
#include <stack>
#include <unordered_map>

using namespace std;
typedef  long long ll;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<VI> VVI;
#define  MP make_pair
#define  PB push_back
#define inf  1000000007
#define rep(i,n) for(int i=0;i<(int)(n);++i)

unordered_map<int,string>mp[100010];

string s;
int n;
int len;

string saiki(int x,int a){
    if(a<0)return "X";
    if(x>=n)return "&";
    if(a==0)return s.substr(x,n-x);
    if((len+1)*(a+1)<n-x)return "X";
    //if((len)*(a+1)>n-x)return "X";
    if(mp[x].find(a)!=mp[x].end())return mp[x][a];
    string p,q;
    if(x+len<n){
        string p1,p2;
        p1 = s.substr(x,len);
        p2 = saiki(x+len,a-1);
        if(p1=="X"){
            p = p1;
        }else if(p2=="X"){
            p = p2;
        }else if(p1.size()>p2.size()){
            p = p1;
        }else if(p1.size()<p2.size()){
            p = p2;
        }else{
            p = max(p1,p2);
        }
    }else{
        p = s.substr(x,n-x);
    }
    if(x+len+1>=n){
        q = s.substr(x,n-x);
    }else{
        string p1,p2;
        p1 = s.substr(x,len+1);
        p2 = saiki(x+len+1,a-1);
        if(p1=="X"){
            q = p1;
        }else if(p2=="X"){
            q = p2;
        }else if(p1.size()>p2.size()){
            q = p1;
        }else if(p1.size()<p2.size()){
            q = p2;
        }else{
            q = max(p1,p2);
        }
    }
    if(p=="X"){
        mp[x][a] = q;
    }else if(q=="X"){
        mp[x][a] = p;
    }else if(p.size()>q.size()){
        mp[x][a] = q;
    }else if(p.size()<q.size()){
        mp[x][a] = p;
    }else{
        mp[x][a] = min(p,q);
    }
    //cerr << x << " " << a << " "  << mp[x][a] << endl;
    return mp[x][a];
}

int main(){
    int k;
    cin >> k >> s;
    n = s.size();
    len = n/(k+1);
    //cerr << len << endl;
    cout << saiki(0,k) << endl;
    return 0;
}

Submission Info

Submission Time
Task B - Problem where Commas Separate Digits
User mtsd
Language C++14 (Clang 3.8.0)
Score 600
Code Size 2193 Byte
Status TLE
Exec Time 3186 ms
Memory 490048 KB

Judge Result

Set Name Sample Dataset1 Dataset2 Dataset3 Dataset4 Dataset5
Score / Max Score 0 / 0 100 / 100 100 / 100 200 / 200 200 / 200 0 / 400
Status
AC × 3
AC × 17
AC × 32
AC × 49
AC × 64
AC × 71
TLE × 8
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 6 ms 4344 KB
subtask_01_02.txt AC 4 ms 4352 KB
subtask_01_03.txt AC 3 ms 4224 KB
subtask_01_04.txt AC 3 ms 4096 KB
subtask_01_05.txt AC 3 ms 4096 KB
subtask_01_06.txt AC 3 ms 4224 KB
subtask_01_07.txt AC 3 ms 4096 KB
subtask_01_08.txt AC 3 ms 4224 KB
subtask_01_09.txt AC 3 ms 4224 KB
subtask_01_10.txt AC 3 ms 4096 KB
subtask_01_11.txt AC 3 ms 4224 KB
subtask_01_12.txt AC 3 ms 4224 KB
subtask_01_13.txt AC 3 ms 4224 KB
subtask_01_14.txt AC 3 ms 4224 KB
subtask_01_15.txt AC 3 ms 4224 KB
subtask_01_16.txt AC 3 ms 4096 KB
subtask_01_17.txt AC 3 ms 4224 KB
subtask_02_01.txt AC 5 ms 4224 KB
subtask_02_02.txt AC 3 ms 4224 KB
subtask_02_03.txt AC 3 ms 4224 KB
subtask_02_04.txt AC 3 ms 4224 KB
subtask_02_05.txt AC 3 ms 4224 KB
subtask_02_06.txt AC 3 ms 4224 KB
subtask_02_07.txt AC 3 ms 4224 KB
subtask_02_08.txt AC 3 ms 4224 KB
subtask_02_09.txt AC 3 ms 4096 KB
subtask_02_10.txt AC 3 ms 4224 KB
subtask_02_11.txt AC 3 ms 4224 KB
subtask_02_12.txt AC 3 ms 4224 KB
subtask_02_13.txt AC 3 ms 4224 KB
subtask_02_14.txt AC 3 ms 4224 KB
subtask_02_ex1.txt AC 3 ms 4224 KB
subtask_03_01.txt AC 4 ms 4352 KB
subtask_03_02.txt AC 4 ms 4224 KB
subtask_03_03.txt AC 4 ms 4352 KB
subtask_03_04.txt AC 4 ms 4224 KB
subtask_03_05.txt AC 4 ms 4224 KB
subtask_03_06.txt AC 4 ms 4224 KB
subtask_03_07.txt AC 4 ms 4224 KB
subtask_03_08.txt AC 3 ms 4224 KB
subtask_03_09.txt AC 3 ms 4224 KB
subtask_03_10.txt AC 3 ms 4224 KB
subtask_03_11.txt AC 4 ms 4224 KB
subtask_03_12.txt AC 3 ms 4224 KB
subtask_03_13.txt AC 4 ms 4224 KB
subtask_03_14.txt AC 4 ms 4224 KB
subtask_03_15.txt AC 3 ms 4224 KB
subtask_03_ex2.txt AC 3 ms 4224 KB
subtask_03_ex3.txt AC 3 ms 4224 KB
subtask_04_01.txt AC 458 ms 62464 KB
subtask_04_02.txt AC 21 ms 7680 KB
subtask_04_03.txt AC 628 ms 79488 KB
subtask_04_04.txt AC 155 ms 29312 KB
subtask_04_05.txt AC 4 ms 4608 KB
subtask_04_06.txt AC 41 ms 11776 KB
subtask_04_07.txt AC 29 ms 9344 KB
subtask_04_08.txt AC 3 ms 4224 KB
subtask_04_09.txt AC 3 ms 4224 KB
subtask_04_10.txt AC 4 ms 4608 KB
subtask_04_11.txt AC 4 ms 4608 KB
subtask_04_12.txt AC 4 ms 4608 KB
subtask_04_13.txt AC 3 ms 4224 KB
subtask_04_14.txt AC 14 ms 6400 KB
subtask_04_15.txt AC 10 ms 5760 KB
subtask_05_01.txt TLE 3184 ms 449088 KB
subtask_05_02.txt TLE 3186 ms 490048 KB
subtask_05_03.txt TLE 3183 ms 423360 KB
subtask_05_04.txt TLE 3185 ms 454208 KB
subtask_05_05.txt AC 48 ms 28736 KB
subtask_05_06.txt TLE 3183 ms 444096 KB
subtask_05_07.txt TLE 3184 ms 452672 KB
subtask_05_08.txt AC 8 ms 4544 KB
subtask_05_09.txt AC 8 ms 4544 KB
subtask_05_10.txt AC 54 ms 26560 KB
subtask_05_11.txt AC 55 ms 26560 KB
subtask_05_12.txt AC 54 ms 26560 KB
subtask_05_13.txt TLE 3184 ms 452992 KB
subtask_05_14.txt AC 1777 ms 247936 KB
subtask_05_15.txt TLE 3186 ms 480256 KB