提出 #7001559


ソースコード 拡げる

/** 
 * Dont raise your voice, improve your argument.
 * --Desmond Tutu
 */

/*
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
*/

#include <bits/stdc++.h>
using namespace std;

/* see https://github.com/pllk/cphb/
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
typedef tree<int,null_type,less<int>,rb_tree_tag,
    tree_order_statistics_node_update> indexed_set;
 **/

typedef long long ll;
#define endl "\n"
#define fori(n) for(ll i=0; i<(n); i++)

#define cins(s) string s; cin>>s;
#define cini(i) int i; cin>>i;
#define cinll(l) ll l; cin>>l;
#define cinai(a, n) vi a(n); fori(n) { cin>>a[i]; }
#define cinall(a, n) vll a(n); fori(n) { cin>>a[i]; }
#define cinas(s, n) vs s(n); fori(n) { cin>>s[i]; }

//typedef __int128 lll;
typedef pair<int, int> pii;
typedef vector<bool> vb;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<string> vs;
typedef vector<ll> vll;

int main() {
cin.tie(nullptr);
std::ios::sync_with_stdio(false);
    cins(s);
    cins(t);

    vvi f('z'+1);
    for(size_t i=0; i<s.size(); i++)
        f[s[i]].push_back(i);

    ll ans1=0;
    ll ans2=0;
    for(size_t i=0; i<t.size(); i++) {
        if(f[t[i]].size()==0) {
            ans1=0;
            ans2=-2;
            break;
        }

        auto it=upper_bound(f[t[i]].begin(), f[t[i]].end(), ans2);
        if(it==f[t[i]].end()) {
            ans1++;
            ans2=f[t[i]][0];
        } else
            ans2=*it;
    }

    ans1*=s.size();
    ll ans=ans1+ans2+1;
    cout<<ans<<endl;
}

提出情報

提出日時
問題 E - Strings of Impurity
ユーザ spookywooky
言語 C++14 (GCC 5.4.1)
得点 0
コード長 1669 Byte
結果 WA
実行時間 8 ms
メモリ 1228 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 500
結果
AC × 3
AC × 36
WA × 9
セット名 テストケース
Sample a01, a02, a03
All a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45
ケース名 結果 実行時間 メモリ
a01 AC 1 ms 256 KiB
a02 AC 1 ms 256 KiB
a03 AC 1 ms 256 KiB
b04 WA 1 ms 256 KiB
b05 AC 1 ms 256 KiB
b06 WA 1 ms 256 KiB
b07 AC 1 ms 256 KiB
b08 WA 1 ms 256 KiB
b09 AC 1 ms 256 KiB
b10 WA 8 ms 1228 KiB
b11 WA 3 ms 1228 KiB
b12 AC 3 ms 1228 KiB
b13 AC 3 ms 1228 KiB
b14 WA 8 ms 1228 KiB
b15 WA 8 ms 1228 KiB
b16 AC 8 ms 1228 KiB
b17 AC 8 ms 976 KiB
b18 AC 8 ms 976 KiB
b19 AC 8 ms 976 KiB
b20 AC 3 ms 976 KiB
b21 AC 3 ms 976 KiB
b22 AC 3 ms 976 KiB
b23 AC 3 ms 976 KiB
b24 AC 3 ms 976 KiB
b25 AC 7 ms 1104 KiB
b26 AC 7 ms 976 KiB
b27 AC 6 ms 976 KiB
b28 AC 5 ms 1104 KiB
b29 AC 5 ms 1104 KiB
b30 AC 4 ms 976 KiB
b31 AC 2 ms 1104 KiB
b32 WA 2 ms 512 KiB
b33 AC 2 ms 512 KiB
b34 WA 2 ms 976 KiB
b35 AC 2 ms 848 KiB
b36 AC 4 ms 1228 KiB
b37 AC 3 ms 1228 KiB
b38 AC 3 ms 1228 KiB
b39 AC 3 ms 1228 KiB
b40 AC 3 ms 1228 KiB
b41 AC 3 ms 1228 KiB
b42 AC 2 ms 1228 KiB
b43 AC 2 ms 976 KiB
b44 AC 3 ms 1228 KiB
b45 AC 3 ms 1228 KiB