Submission #2242949


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long long lli;
typedef vector<lli> vll;
typedef vector<bool> vbl;
typedef vector<vector<lli>> mat;
typedef vector<unordered_map<lli,lli>> graph;

string a;

queue<vll> q;
set<lli> used;
mat mem;
vector<char> ans;

void output(){
  for(lli i = mem.size()-1;i >= 0;){
    ans.push_back((char)mem[i][0]);
    i = mem[i][1];
  }
  for(lli i = ans.size()-1;i >= 0;i--){
    cout << ans[i];
  }
  cout << endl;
}


int main(){
  cin >> a;

  q.push(vll({-1,0,-1}));//point,char,prev;
  while(!q.empty()){
    lli point = q.front()[0];
    lli chr = q.front()[1];
    lli prev = q.front()[2];
    q.pop();
    if(used.count(point) != 0) continue;
    used.insert(point);
    mem.push_back(vll({chr,prev}));
    if(point == (lli)a.size()){
      output();
      return 0;
    }
    for(char c = 'a';c <= 'z';c++){
      lli p = a.size();
      for(lli i = point+1;i < a.size();i++){
        if(a[i] == c){
          p = i;
          break;
        }
      }
      if(used.count(p) == 0) q.push(vll({p,(lli)c,mem.size()-1}));
    }
  }
  return 1;

}

Submission Info

Submission Time
Task E - Don't Be a Subsequence
User deoxy
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1157 Byte
Status WA
Exec Time 942 ms
Memory 22192 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:54:61: warning: narrowing conversion of ‘(mem.std::vector<_Tp, _Alloc>::size<std::vector<long long int>, std::allocator<std::vector<long long int> > >() + 18446744073709551615ul)’ from ‘std::vector<std::vector<long long int> >::size_type {aka long unsigned int}’ to ‘long long int’ inside { } [-Wnarrowing]
       if(used.count(p) == 0) q.push(vll({p,(lli)c,mem.size()-1}));
                                                             ^
./Main.cpp:54:61: warning: narrowing conversion of ‘(mem.std::vector<_Tp, _Alloc>::size<std::vector<long long int>, std::allocator<std::vector<long long int> > >() + 18446744073709551615ul)’ from ‘std::vector<std::vector<long long int> >::size_type {aka long unsigned int}’ to ‘long long int’ inside { } [-Wnarrowing]

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
WA × 3
WA × 36
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt
All sample1.txt, sample2.txt, sample3.txt, 1.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 2.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 3.txt, 30.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt, sample3.txt
Case Name Status Exec Time Memory
1.txt WA 1 ms 256 KB
10.txt WA 788 ms 20912 KB
11.txt WA 791 ms 21296 KB
12.txt WA 794 ms 20784 KB
13.txt WA 797 ms 21040 KB
14.txt WA 803 ms 21424 KB
15.txt WA 802 ms 21424 KB
16.txt WA 806 ms 21168 KB
17.txt WA 795 ms 21680 KB
18.txt WA 806 ms 22064 KB
19.txt WA 831 ms 21168 KB
2.txt WA 4 ms 384 KB
20.txt WA 864 ms 21808 KB
21.txt WA 861 ms 21808 KB
22.txt WA 843 ms 20912 KB
23.txt WA 875 ms 20912 KB
24.txt WA 817 ms 22192 KB
25.txt WA 942 ms 19636 KB
26.txt WA 116 ms 1796 KB
27.txt WA 274 ms 3644 KB
28.txt WA 185 ms 2496 KB
29.txt WA 73 ms 1028 KB
3.txt WA 34 ms 1408 KB
30.txt WA 39 ms 772 KB
4.txt WA 34 ms 1408 KB
5.txt WA 381 ms 10672 KB
6.txt WA 383 ms 10544 KB
7.txt WA 790 ms 21680 KB
8.txt WA 802 ms 21296 KB
9.txt WA 814 ms 22064 KB
sample1.txt WA 1 ms 256 KB
sample2.txt WA 1 ms 256 KB
sample3.txt WA 1 ms 256 KB