187092025-10-31 15:59:40kosztolnirekaRozmárokcpp17Wrong answer 0/100495ms10160 KiB
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    /*int N, K, M;
    cin >> N;
    cin >> K;
    cin >> M;
    bool result;
    if (N * K >= M)
    {
        cout << "YES";
    }
    else {
        cout << "NO";
    }*/

    int db;
    int N;
    cin >> N;
    int meddig;
    vector<int> idok;
    for (int i = 0; i < N; i++)
    {
        int res1 = 0;
        int res2 = 0;
        int db = 0;
        int M;
        cin >> M;
        vector<char>list(M);
        for (int i = 0; i < M; i++)
        {
            cin >> list[i];
        }
        if (list[0] == '.')
        {
            res1 = 1;
        }
        for (int j = 0; j < list.size(); j++)
        {

            if (list[j] == '-')
            {
                if (j + 1 < list.size())
                {
                    if (list[j + 1] == '.')
                    {
                        res1++;
                    }
                }
            }
        }


        if (res1 == 0)
        {
            res2 = 0;
        }
        else
        {
            int ido = 0;
            res2 = res1;
            for (int j = 0; j < list.size(); j++)
            {
                if (list[j] == '.')
                {

                    ido = 0;
                    meddig = j;

                    while (meddig < list.size() && list[meddig] == '.')
                    {
                        meddig++;
                    }


                    int mennyi = meddig - (j);
                    cout << "j: " << j << "\n";
                    cout << "mennyi: " << mennyi << "\n";
                    //list[(j + mennyi - 1) / 2] = '-';

                    if (mennyi != 1)
                    {
                        db++;
                    }

                    int resj = j;
                    cout << "resj: " << resj << "\n";

                    int resmeddig = resj + mennyi - 1;
                    cout << "resmeddig: " << resmeddig << "\n";


                    int resmost = resj + mennyi / 2;
                    cout << "resmost: " << resmost << "\n";


                    if (resmost - resj > resmeddig - resmost)
                    {
                        ido = resmost - resj + 1;
                    }
                    else
                    {
                        ido = resmeddig - resmost + 1;
                    }


                    idok.push_back(ido);
                    cout << "ido: " << ido << "\n";
                    cout << "\n";

                    j = meddig;

                }
            }

            res2 = idok[0];
            for (int k = 1; k < idok.size(); k++)
            {
                if (idok[k] > res2)
                {
                    res2 = idok[k];
                }
            }
            //res2 += db - 1;
            if (res2 < res1)
            {
                res2 = res1;
            }
            else
            {
                /*cout << "db: " << db << "\n";
                cout << "res2: " << res2 << "\n";*/
                if (db < 0)
                {
                    res2 += db - 1;
                }
            }
        }



        cout << res1 << ' ' << res2 << "\n";
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Wrong answer1ms316 KiB
subtask20/10
2Wrong answer19ms564 KiB
3Wrong answer96ms1076 KiB
subtask30/20
4Wrong answer16ms564 KiB
subtask40/35
5Wrong answer1ms316 KiB
6Wrong answer7ms580 KiB
7Wrong answer10ms820 KiB
8Wrong answer6ms564 KiB
9Wrong answer4ms508 KiB
10Wrong answer2ms328 KiB
11Wrong answer2ms384 KiB
subtask50/35
12Wrong answer1ms316 KiB
13Wrong answer19ms564 KiB
14Wrong answer96ms1076 KiB
15Wrong answer16ms564 KiB
16Wrong answer7ms580 KiB
17Wrong answer10ms820 KiB
18Wrong answer6ms564 KiB
19Wrong answer4ms508 KiB
20Wrong answer2ms328 KiB
21Wrong answer2ms384 KiB
22Wrong answer495ms5288 KiB
23Wrong answer101ms6532 KiB
24Wrong answer37ms1844 KiB
25Wrong answer21ms712 KiB
26Wrong answer19ms704 KiB
27Wrong answer83ms5296 KiB
28Wrong answer149ms10160 KiB