Submission #997883
Source Code Expand
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define fi first #define se second #define mp make_pair #define pb push_back #define fbo find_by_order #define ook order_of_key typedef long long ll; typedef pair<ll,ll> ii; typedef vector<int> vi; typedef long double ld; typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds; typedef set<int>::iterator sit; typedef map<int,int>::iterator mit; typedef vector<int>::iterator vit; const int MX = 100011; const int LG = 19; const int INF = 10000000; struct RMaxQ //Warning : Change query return value manually if needed. INF is the dummy val { int st[LG][MX]; int initial[MX]; int combine(int a, int b) //warning : change if neccesary { return max(a,b); } RMaxQ() { for(int i = 0; i < MX; i++) initial[i] = 0; } void init() { for(ll j = 0; j < LG; j++) { for(ll i = 0; i < MX; i++) { st[j][i] = INF; if(i + (1<<j) - 1 < MX) { if(j == 0) st[j][i] = initial[i]; else st[j][i] = combine(st[j-1][i], st[j-1][i + (1<<(j-1))]); } } } } int query(int l, int r) { int k = 31 - __builtin_clz(r-l); return combine(st[k][l], st[k][r - (1<<k) + 1]); } }; struct RMinQ //Warning : Change query return value manually if needed. INF is the dummy val { int st[LG][MX]; int initial[MX]; int combine(int a, int b) //warning : change if neccesary { return min(a,b); } RMinQ() { for(int i = 0; i < MX; i++) initial[i] = INF; } void init() { for(ll j = 0; j < LG; j++) { for(ll i = 0; i < MX; i++) { st[j][i] = INF; if(i + (1<<j) - 1 < MX) { if(j == 0) st[j][i] = initial[i]; else st[j][i] = combine(st[j-1][i], st[j-1][i + (1<<(j-1))]); } } } } int query(int l, int r) { int k = 31 - __builtin_clz(r-l); return combine(st[k][l], st[k][r - (1<<k) + 1]); } }; RMaxQ M; RMinQ m; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; for(int i = 0; i < n; i++) { cin>>M.initial[i]; } string s; cin>>s; int t = -1; for(int i = 0; i < n - 1; i++) { if(s[i]=='M') t = i; } t++; M.init(); for(int i = 0; i < n - t; i++) { m.initial[i] = M.query(i, i+t); } m.init(); cout<<m.query(0,n-1)<<'\n'; }
Submission Info
Submission Time | |
---|---|
Task | B - Compression |
User | zscoder |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 2481 Byte |
Status | WA |
Exec Time | 121 ms |
Memory | 16204 KB |
Judge Result
Set Name | Sample | subtask1 | subtask2 | All | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | 0 / 800 | 0 / 200 | ||||||||||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt |
subtask1 | sample_2.txt, subtask_1.2_1.txt, subtask_1.2_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
subtask2 | sample_1.txt, subtask_1.2_1.txt, subtask_1.2_2.txt, subtask_2_1.txt, subtask_2_10.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt |
All | sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 2_1.txt, 2_2.txt, subtask_1.2_1.txt, subtask_1.2_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_10.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_10.txt, subtask_3_11.txt, subtask_3_12.txt, subtask_3_13.txt, subtask_3_14.txt, subtask_3_15.txt, subtask_3_16.txt, subtask_3_17.txt, subtask_3_18.txt, subtask_3_19.txt, subtask_3_2.txt, subtask_3_20.txt, subtask_3_21.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
2_1.txt | AC | 22 ms | 15872 KB |
2_2.txt | RE | 121 ms | 8448 KB |
sample_1.txt | WA | 22 ms | 15872 KB |
sample_2.txt | AC | 22 ms | 15872 KB |
sample_3.txt | WA | 22 ms | 15872 KB |
sample_4.txt | WA | 22 ms | 15872 KB |
subtask_1.2_1.txt | AC | 22 ms | 15872 KB |
subtask_1.2_2.txt | AC | 22 ms | 15872 KB |
subtask_1_1.txt | AC | 30 ms | 16076 KB |
subtask_1_10.txt | AC | 30 ms | 16076 KB |
subtask_1_2.txt | AC | 30 ms | 16076 KB |
subtask_1_3.txt | AC | 30 ms | 16076 KB |
subtask_1_4.txt | AC | 29 ms | 16000 KB |
subtask_1_5.txt | AC | 23 ms | 15872 KB |
subtask_1_6.txt | AC | 30 ms | 16076 KB |
subtask_1_7.txt | AC | 22 ms | 15872 KB |
subtask_1_8.txt | AC | 30 ms | 16076 KB |
subtask_1_9.txt | AC | 30 ms | 16076 KB |
subtask_2_1.txt | WA | 30 ms | 16076 KB |
subtask_2_10.txt | WA | 30 ms | 16076 KB |
subtask_2_2.txt | WA | 30 ms | 16076 KB |
subtask_2_3.txt | WA | 30 ms | 16076 KB |
subtask_2_4.txt | WA | 30 ms | 16076 KB |
subtask_2_5.txt | AC | 22 ms | 15872 KB |
subtask_2_6.txt | AC | 22 ms | 15872 KB |
subtask_2_7.txt | AC | 22 ms | 15872 KB |
subtask_2_8.txt | WA | 30 ms | 16128 KB |
subtask_2_9.txt | WA | 24 ms | 15872 KB |
subtask_3_1.txt | WA | 30 ms | 16076 KB |
subtask_3_10.txt | WA | 30 ms | 16076 KB |
subtask_3_11.txt | WA | 30 ms | 16076 KB |
subtask_3_12.txt | WA | 30 ms | 16076 KB |
subtask_3_13.txt | WA | 30 ms | 16076 KB |
subtask_3_14.txt | WA | 30 ms | 16076 KB |
subtask_3_15.txt | WA | 30 ms | 16076 KB |
subtask_3_16.txt | WA | 30 ms | 16076 KB |
subtask_3_17.txt | AC | 30 ms | 16076 KB |
subtask_3_18.txt | AC | 30 ms | 16204 KB |
subtask_3_19.txt | AC | 31 ms | 16076 KB |
subtask_3_2.txt | WA | 30 ms | 16076 KB |
subtask_3_20.txt | AC | 30 ms | 16076 KB |
subtask_3_21.txt | AC | 30 ms | 16076 KB |
subtask_3_3.txt | WA | 23 ms | 15872 KB |
subtask_3_4.txt | WA | 29 ms | 16128 KB |
subtask_3_5.txt | WA | 28 ms | 16128 KB |
subtask_3_6.txt | WA | 30 ms | 16076 KB |
subtask_3_7.txt | WA | 30 ms | 16076 KB |
subtask_3_8.txt | WA | 30 ms | 16076 KB |
subtask_3_9.txt | WA | 30 ms | 16076 KB |