187112025-10-31 17:25:26kosztolnirekaRozmárokcpp17Wrong answer 0/100148ms9496 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] == '.')
                {
                    idok.clear();

                    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;



                    /*int szam = j + mennyi - 1;
                    if (mennyi % 2 == 1) {
                        ido = (mennyi + 1) / 2;
                    }
                    else
                    {
                        ido = (mennyi / 2) + 1;
                    }
                    idok.push_back(ido);*/

                }
            }

            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 answer20ms564 KiB
3Wrong answer48ms1064 KiB
subtask30/20
4Wrong answer10ms564 KiB
subtask40/35
5Wrong answer1ms500 KiB
6Wrong answer7ms568 KiB
7Wrong answer10ms820 KiB
8Wrong answer6ms564 KiB
9Wrong answer3ms320 KiB
10Wrong answer2ms404 KiB
11Wrong answer2ms316 KiB
subtask50/35
12Wrong answer1ms500 KiB
13Wrong answer20ms564 KiB
14Wrong answer48ms1064 KiB
15Wrong answer10ms564 KiB
16Wrong answer7ms568 KiB
17Wrong answer10ms820 KiB
18Wrong answer6ms564 KiB
19Wrong answer3ms320 KiB
20Wrong answer2ms404 KiB
21Wrong answer2ms316 KiB
22Wrong answer119ms4916 KiB
23Wrong answer103ms6196 KiB
24Wrong answer37ms1584 KiB
25Wrong answer23ms704 KiB
26Wrong answer19ms564 KiB
27Wrong answer83ms5064 KiB
28Wrong answer148ms9496 KiB