Submission #1230058

#TimeUsernameProblemLanguageResultExecution timeMemory
1230058toast12Lollipop (POI11_liz)C++20
16 / 100
1225 ms26392 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> v(n+1); for (int i = 1; i <= n; i++) { char c; cin >> c; if (c == 'T') v[i] = 2; else v[i] = 1; } vector<int> ps(n+1); for (int i = 1; i <= n; i++) ps[i] = ps[i-1]+v[i]; vector<int> a(n+1), b(n+1); int idx = 0; for (int i = 1; i <= n; i++) { if (v[i] == 1) { idx = i; for (int j = i; j <= n; j++) a[j] = a[j-1]+v[j]; for (int j = i; j > 0; j--) b[j] = b[j+1]+v[j]; break; } } while (m--) { int k; cin >> k; auto it = lower_bound(ps.begin(), ps.end(), k); if (it == ps.end()) { cout << "NIE\n"; continue; } if (*it == k) { cout << 1 << ' ' << (it-ps.begin()) << '\n'; continue; } auto it2 = lower_bound(a.begin(), a.end(), k); if (it2 != a.end()) { if (*it2 == k+1) { cout << idx+1 << ' ' << it2-a.begin() << '\n'; continue; } else if (*it2 == k) { cout << idx << ' ' << it2-a.begin() << '\n'; continue; } } auto it3 = lower_bound(b.rbegin(), b.rend(), k); if (it3 != b.rend()) { if (*it3 == k+1) { cout << b.rend()-it3-1 << ' ' << idx-1 << '\n'; continue; } else if (*it3 == k) { cout << b.rend()-it3-1 << ' ' << idx << '\n'; continue; } } cout << "NIE\n"; continue; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...