#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |