This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, m;
	cin >> n >> m;
	string s;
	cin >> s;
	vector<int> v(n+1), nx1(n+1, n+1), pf(n+1);
	for (int i = 1; i <= n; i++)
	{
		pf[i] = v[i] = (s[i - 1] == 'W' ? 1 : 2);
		pf[i] += pf[i - 1];
	}
	for (int i = n; i > 0; i--)
	{
		if (v[i] == 1) nx1[i] = i;
		else if (i != n) nx1[i] = nx1[i + 1];
	}
	while (m--)
	{
		int k; cin >> k;
		int len = lower_bound(pf.begin(), pf.end(), k) - pf.begin();
		if (len == n+1) cout << "NIE\n";
		else if (pf[len] == k) cout << 1 << " " << len << "\n";
		else // k+1
		{
			int mv = min(nx1[1], nx1[len] - len + 1);
			int l = mv, r = mv + len - 1;
			if (r > n) cout << "NIE\n";
			else if (pf[r] - pf[l - 1] == k) cout << l << " " << r << "\n";
			else cout << l + 1 << " " << r << "\n";
		}
	}
	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... |