// pec.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <iomanip>
#include <set>
using namespace std;
int main()
{
int n;
int m;
cin >> n;
cin >> m;
string s;
cin >> s;
vector<int>v(n);
for (int i = 0; i < n; i++)
{
if (s[i] == 'T')
{
v[i] = 2;
}
else if (s[i] == 'W')
{
v[i] = 1;
}
}
vector<int>prefix(n+1);
prefix[0] = 0;
for (int i = 1; i < n+1; i++)
{
prefix[i] = prefix[i - 1] + v[i-1];
}
/*for (int i = 0; i < n; i++)
{
cout << prefix[i];
if (i != n - 1)
{
cout << ' ';
}
}
cout << endl;*/
vector<int>frek(200037,-1);
for (int i = 0; i < n + 1; i++)
{
if (frek[prefix[i]] == -1)
{
frek[prefix[i]] = i;
}
}
while (m--)
{
int k;
cin >> k;
int l = -1;
int r = -1;
for (int i = 0; i < n; i++)
{
/*int index = lower_bound(prefix.begin() + i, prefix.end(), k + prefix[i]) - prefix.begin();
if (index != prefix.size())
{
if (prefix[index] - prefix[i] == k)
{
l = i;
r = index;
break;
}
}*/
if (frek[prefix[i] + k] != -1)
{
l = i;
r = frek[prefix[i] + k];
break;
}
}
if (l != -1 && r != -1)
{
cout << l + 1 << ' ';
cout << r << endl;
}
else
{
cout << "NIE" << endl;
}
}
return 0;
//std::cout << "Hello World!\n";
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
972 KB |
Output is correct |
2 |
Correct |
1 ms |
972 KB |
Output is correct |
3 |
Correct |
1 ms |
972 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
972 KB |
Output is correct |
2 |
Correct |
1 ms |
972 KB |
Output is correct |
3 |
Correct |
1 ms |
972 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
972 KB |
Output is correct |
2 |
Correct |
1 ms |
1100 KB |
Output is correct |
3 |
Correct |
45 ms |
1152 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
27 ms |
1100 KB |
Output is correct |
2 |
Correct |
24 ms |
1204 KB |
Output is correct |
3 |
Correct |
26 ms |
1244 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
51 ms |
1356 KB |
Output is correct |
2 |
Correct |
61 ms |
1328 KB |
Output is correct |
3 |
Correct |
549 ms |
2248 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
259 ms |
2228 KB |
Output is correct |
2 |
Correct |
847 ms |
6964 KB |
Output is correct |
3 |
Execution timed out |
2079 ms |
4312 KB |
Time limit exceeded |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
367 ms |
2496 KB |
Bledny przedzial |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
653 ms |
5728 KB |
Bledny przedzial |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1400 ms |
12340 KB |
Bledny przedzial |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1116 ms |
12432 KB |
Oczekiwano przedzialu o koszcie 888681 otrzymano przedzial wartosci 2 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2075 ms |
21892 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
44 ms |
19804 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |