# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
403237 |
2021-05-13T00:04:02 Z |
Lobo |
Miners (IOI07_miners) |
C++17 |
|
1500 ms |
156272 KB |
#include <bits/stdc++.h>
using namespace std;
const long long INFll = 1e18;
const int INFii = 1e9;
const long long mod = (long long) 1e9 + 7;
typedef long long ll;
typedef int ii;
typedef double dbl;
#define endl '\n'
#define sc second
#define fr first
#define mp make_pair
#define pb push_back
#define maxn 110000
//LEMBRAR DE MUDAR
ii n;
string s;
map<pair<pair<char,char>,pair<char,char>>, ii> dp[maxn];
ii sol(ii i, char a1, char a2, char b1, char b2) {
if(i == n) return 0;
if(dp[i].find(mp(mp(a1,a2),mp(b1,b2))) != dp[i].end()) {
return dp[i][mp(mp(a1,a2),mp(b1,b2))];
}
set<char> st1;
if(a1 != '0') st1.insert(a1);
if(a2 != '0') st1.insert(a2);
st1.insert(s[i]);
ii p1 = st1.size();
set<char> st2;
if(b1 != '0') st2.insert(b1);
if(b2 != '0') st2.insert(b2);
st2.insert(s[i]);
ii p2 = st2.size();
dp[i][mp(mp(a1,a2),mp(b1,b2))] = max(p1 + sol(i+1, s[i], a1, b1, b2), p2 + sol(i+1, a1, a2, s[i], b1));
return dp[i][mp(mp(a1,a2),mp(b1,b2))];
}
int main() {
ios::sync_with_stdio(false); cin.tie(0);
//freopen("in.in", "r", stdin);
//freopen("____.out", "w", stdout);
cin >> n;
cin >> s;
cout << sol(0, '0', '0', '0', '0') << endl;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5452 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
5452 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5452 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5452 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5452 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5476 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
25 ms |
7340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
46 ms |
11024 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
237 ms |
26664 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
642 ms |
52664 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1103 ms |
121112 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1584 ms |
156272 KB |
Time limit exceeded |