187052025-10-31 14:08:17Teret222Rozmárokcpp17Wrong answer 10/10027ms1780 KiB
#include <vector>
#include <iostream>
using namespace std;
vector<int> read()
{
    int n;
    cin >> n;
    char k;
    vector<int> vec(n);
    for (int i = 0; i < n;i++)
    {
        cin >> k;
        if (k == '-')
        {
            vec[i] = 1;
        }
        else {
            vec[i] = 0;
        }
    }
    return vec;
}
void rozmar()
{
    int instances;
    cin >> instances;
    vector<int> answers(instances * 2);
    for (int j = 0; j < instances*2;j+=2)
    {
        int sec = 0, acts = 0,longestsect = 0,i = 0;
        vector<int> vec = read();
        for (int i = 0; i < vec.size();i++)
        {
            int sectionsize = 0;
            if (vec[i] == 0)
            {
                while (i < vec.size() && vec[i] == 0)
                {
                    sectionsize++;
                    i++;
                }
                acts++;
                if (longestsect < sectionsize)
                {
                    
                    if (sec == 0)
                    {
                        sec = sectionsize / 2 + 1;
                    }
                    else
                    {
                        sec -= longestsect / 2 + 1;
                        sec += sectionsize / 2 + 1;
                    }
                    longestsect = sectionsize;
                }
                else if (sectionsize == longestsect)
                {
                    sec++;
                }
                else if (sectionsize == 1)
                {
                    sec++;
                }
                // sec += sectionsize / 2 + 1;
                
            }

        }
        answers[j] = acts;
        answers[j + 1] = sec;
    }
    for (int i = 0; i < answers.size();i+=2)
    {
        cout << answers[i] << " " << answers[i + 1] << "\n";
    }
}
int main()
{
    rozmar();
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask210/10
2Accepted21ms1524 KiB
3Accepted25ms500 KiB
subtask30/20
4Wrong answer3ms316 KiB
subtask40/35
5Accepted1ms316 KiB
6Wrong answer3ms512 KiB
7Accepted2ms316 KiB
8Wrong answer3ms316 KiB
9Wrong answer2ms384 KiB
10Accepted2ms316 KiB
11Accepted2ms316 KiB
subtask50/35
12Accepted1ms316 KiB
13Accepted21ms1524 KiB
14Accepted25ms500 KiB
15Wrong answer3ms316 KiB
16Wrong answer3ms512 KiB
17Accepted2ms316 KiB
18Wrong answer3ms316 KiB
19Wrong answer2ms384 KiB
20Accepted2ms316 KiB
21Accepted2ms316 KiB
22Wrong answer27ms500 KiB
23Wrong answer23ms1332 KiB
24Wrong answer21ms1332 KiB
25Wrong answer20ms1780 KiB
26Accepted20ms1332 KiB
27Wrong answer21ms1332 KiB
28Accepted21ms1332 KiB