Submission #2909496


Source Code Expand

#include <bits/stdc++.h>
#define rep(i, a, n) for(int i = a; i < n; i++)
#define int long long
using namespace std;
typedef pair<int, int> P;
const int INF = 1e15;

signed main(){
    int a;
    cin >> a;
    string s;
    cin >> s;
    int n = s.size();
    vector<int> d(n), tmp;
    int len = n;
    rep(i, 0, n) d[i] = s[i] - 'a' + 1;
    tmp = d;
    for(int i = n - 1; i > 0; i--){
        d[i - 1] += d[i] * a;
        d[i] = 0;
        for(int j = i - 1; j > 0; j--){
            if(d[j] <= 26){
                break;
            }
            if((d[j] - 26) * a > 26){
                d[0] = INF; break;
            }
            d[j - 1] += (d[j] - 26) * a;
            d[j] = 26;
        }
        if(d[0] > 26){
            break;
        }
        len = i;
        tmp = d;
    }
    d = tmp;
    for(int i = len - 1; i > 0; i--){
        tmp = d;
        while(1){
            d[i - 1] += a;
            d[i]--;
            for(int j = i - 1; j > 0; j--){
                if(d[j] <= 26){
                    break;
                }
                if((d[j] - 26) * a > 26){
                    d[0] = INF; break;
                }
                d[j - 1] += (d[j] - 26) * a;
                d[j] = 26;
            }
            if(d[0] > 26) break;
            tmp = d;
        }
        d = tmp;
    }
    rep(i, 0, len){
        char c = 'a' + d[i] - 1;
        cout << c;
    }
    cout << endl;
}

Submission Info

Submission Time
Task C - Best Password
User treeone
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1479 Byte
Status WA
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 23
WA × 5
Set Name Test Cases
All corner_18, corner_19, corner_20, corner_21, corner_22, corner_23, large_09, large_10, large_11, large_12, large_13, large_14, large_15, large_16, large_17, sample_00, sample_01, sample_02, sample_03, small_00, small_01, small_02, small_03, small_04, small_05, small_06, small_07, small_08
Case Name Status Exec Time Memory
corner_18 AC 1 ms 256 KB
corner_19 AC 1 ms 256 KB
corner_20 AC 1 ms 256 KB
corner_21 AC 1 ms 256 KB
corner_22 AC 2 ms 256 KB
corner_23 AC 2 ms 256 KB
large_09 WA 2 ms 256 KB
large_10 WA 2 ms 256 KB
large_11 WA 2 ms 256 KB
large_12 AC 2 ms 256 KB
large_13 AC 2 ms 256 KB
large_14 WA 2 ms 256 KB
large_15 AC 2 ms 256 KB
large_16 WA 2 ms 256 KB
large_17 AC 2 ms 256 KB
sample_00 AC 1 ms 256 KB
sample_01 AC 1 ms 256 KB
sample_02 AC 1 ms 256 KB
sample_03 AC 1 ms 256 KB
small_00 AC 1 ms 256 KB
small_01 AC 1 ms 256 KB
small_02 AC 1 ms 256 KB
small_03 AC 1 ms 256 KB
small_04 AC 1 ms 256 KB
small_05 AC 1 ms 256 KB
small_06 AC 1 ms 256 KB
small_07 AC 1 ms 256 KB
small_08 AC 1 ms 256 KB