Task: | ABC-poisto |
Sender: | rasastusni |
Submission time: | 2020-10-17 23:06:52 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 42 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 42 |
#2 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2 | details |
#2 | TIME LIMIT EXCEEDED | -- | 2 | details |
Compiler report
input/code.cpp: In function 'int slow(const string&)': input/code.cpp:13:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < s.size() - 1; ++i) { ~~^~~~~~~~~~~~~~
Code
#include <iostream>#include <map>#include <string>using namespace std;map<string, int> cache;int slow(const string &s) {if (s.size() == 0) return 0;if (cache.find(s) != cache.end()) return cache[s];int maxways = 0;for (int i = 0; i < s.size() - 1; ++i) {if (s[i] != s[i+1]) {string s2 = s;s2.erase(i, 2);maxways = max(maxways, slow(s2) + 2);}}cache[s] = maxways;return maxways;}int main(){int t;cin >> t;for (int i = 0; i < t; ++i) {string s;cin >> s;cout << slow(s) << endl;}}