# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
464071 | myvaluska | Lollipop (POI11_liz) | C++14 | 2094 ms | 21648 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// 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>
#include <string>
using namespace std;
int main()
{
int n;
int m;
cin >> n;
cin >> m;
string s;
cin >> s;
vector<int>v(n + 1);
for (int i = 1; i < n + 1; i++)
{
if (s[i - 1] == 'W')
{
v[i] = 1;
}
else if (s[i - 1] == 'T')
{
v[i] = 2;
}
}
vector<int>prefix(n + 1);
prefix[0] = 0;
for (int i = 1; i < n + 1; i++)
{
prefix[i] = prefix[i - 1] + v[i];
}
vector<int>jedna(n + 1, 1e9+36);
for (int i = n; i > 0; i--)
{
if (v[i] == 1)
{
jedna[i] = i;
}
else
{
if (i != n)
{
jedna[i] = jedna[i + 1];
}
}
}
while (m--)
{
int k;
cin >> k;
int index = lower_bound(prefix.begin(), prefix.end(),k)-prefix.begin();
if (index==prefix.size())
{
cout << "NIE" << endl;
}
else
{
if (prefix[index] == k)
{
cout << 1 << ' ';
cout << index << endl;
}
else
{
int mini = min(jedna[1], jedna[index] - index + 1);
int l = mini;
int r = mini + index - 1;
if (r > n)
{
cout << "NIE" << endl;
}
else
{
if (prefix[r] - prefix[l - 1] == k)
{
cout << l << ' ';
cout << r << endl;
}
else
{
cout << l + 1 << ' ';
cout << r << 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
Compilation message (stderr)
# | 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... |