Submission #463462

# Submission time Handle Problem Language Result Execution time Memory
463462 2021-08-11T07:54:21 Z myvaluska Lollipop (POI11_liz) C++14
40 / 100
2000 ms 21892 KB
// 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
# Verdict Execution time Memory 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
# Verdict Execution time Memory 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
# Verdict Execution time Memory 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
# Verdict Execution time Memory 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
# Verdict Execution time Memory 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
# Verdict Execution time Memory 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
# Verdict Execution time Memory Grader output
1 Incorrect 367 ms 2496 KB Bledny przedzial
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 653 ms 5728 KB Bledny przedzial
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1400 ms 12340 KB Bledny przedzial
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1116 ms 12432 KB Oczekiwano przedzialu o koszcie 888681 otrzymano przedzial wartosci 2
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2075 ms 21892 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 44 ms 19804 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -