Submission #2242938


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;
string ans;

void output(){
  for(lli i = mem.size()-1;i >= 0;){
    ans.push_back((char)mem[i][0]);
    i = mem[i][1];
  }
  reverse(ans.begin(),ans.end());
  cout << ans << 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 1126 Byte
Status WA
Exec Time 945 ms
Memory 22192 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:52: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:52: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 789 ms 22064 KB
11.txt WA 793 ms 21040 KB
12.txt WA 786 ms 22064 KB
13.txt WA 806 ms 20912 KB
14.txt WA 801 ms 21424 KB
15.txt WA 798 ms 22192 KB
16.txt WA 802 ms 20912 KB
17.txt WA 806 ms 21552 KB
18.txt WA 819 ms 21424 KB
19.txt WA 823 ms 20912 KB
2.txt WA 4 ms 384 KB
20.txt WA 848 ms 21168 KB
21.txt WA 895 ms 21552 KB
22.txt WA 853 ms 22192 KB
23.txt WA 856 ms 21808 KB
24.txt WA 816 ms 21552 KB
25.txt WA 945 ms 19764 KB
26.txt WA 115 ms 1796 KB
27.txt WA 274 ms 3644 KB
28.txt WA 184 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 383 ms 10672 KB
6.txt WA 388 ms 10544 KB
7.txt WA 796 ms 20912 KB
8.txt WA 800 ms 21168 KB
9.txt WA 797 ms 21040 KB
sample1.txt WA 1 ms 256 KB
sample2.txt WA 1 ms 256 KB
sample3.txt WA 1 ms 384 KB