Submission #464071

#TimeUsernameProblemLanguageResultExecution timeMemory
464071myvaluskaLollipop (POI11_liz)C++14
82 / 100
2094 ms21648 KiB
// 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)

liz.cpp: In function 'int main()':
liz.cpp:60:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |         if (index==prefix.size())
      |             ~~~~~^~~~~~~~~~~~~~~
#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...