40262023-03-09 11:55:49kdbVideójátékcpp17Időlimit túllépés 0/1002.099s8908 KiB
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
#include <deque>
#include <tuple>

using namespace std;
signed  main()
{
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios_base::sync_with_stdio(false);
    int t, n;
    cin >> t >> n;
    vector<pair<int, int>> me;
    vector<pair<int, int>> huno;
    for (int i = 0; i < n; i++)
    {
        int x, y;
        cin >> x >> y;
        me.push_back(make_pair(x, y));
    }
    int m;
    cin >> m;
    for (int i = 0; i < m; i++)
    {
        int x, y;
        cin >> x >> y;
        huno.push_back(make_pair(x, y));
    }
    int ans = 0;
    int lgame = me[0].first-1;
    int mei = 0;
    int hui = 0;
    while (true)
    {
        if (me[mei].first <= huno[hui].first && me[mei].second >= huno[hui].first)
        {
            if (lgame + t+1 >= huno[hui].first && lgame != me[mei].second)
            {
                ans += min(me[mei].second, huno[hui].second) - huno[hui].first + 1;
            }
        }
        if (me[mei].first >= huno[hui].first && me[mei].first <= huno[hui].second)
        {
            ans += min(me[mei].second, huno[hui].second) - me[mei].first + 1;
        }
        if (me[mei].second >= huno[hui].second)
        {
            if (lgame < huno[hui].second)
            {
                lgame = huno[hui].second;
                hui++;
            }
            if (hui == m)
            {
                cout << ans;
                return 0;
            }
        }
        else {
            mei++;
            if (mei == n)
            {
                cout << ans;
                return 0;
            }
            lgame = me[mei].first - 1;
        }
    }
}
/*
25 7
1 8 3 15 4 20 16
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1832 KiB
2Elfogadva3ms2016 KiB
subtask20/10
3Elfogadva3ms2228 KiB
4Elfogadva3ms2444 KiB
5Elfogadva3ms2672 KiB
6Időlimit túllépés2.099s2872 KiB
7Elfogadva3ms3108 KiB
8Elfogadva2ms3180 KiB
9Elfogadva3ms3292 KiB
10Elfogadva2ms3364 KiB
11Hibás válasz2ms3356 KiB
subtask30/20
12Időlimit túllépés2.078s3468 KiB
13Időlimit túllépés2.048s3556 KiB
14Időlimit túllépés2.059s3944 KiB
15Időlimit túllépés2.066s3916 KiB
16Időlimit túllépés2.066s3276 KiB
17Időlimit túllépés2.072s3920 KiB
18Időlimit túllépés2.063s4180 KiB
19Időlimit túllépés2.043s3496 KiB
20Időlimit túllépés2.072s4344 KiB
21Időlimit túllépés2.059s3480 KiB
22Időlimit túllépés2.062s4204 KiB
subtask40/30
23Időlimit túllépés2.075s3728 KiB
24Időlimit túllépés2.069s4224 KiB
25Időlimit túllépés2.072s5856 KiB
26Hibás válasz43ms8876 KiB
27Hibás válasz43ms8908 KiB
28Időlimit túllépés2.059s4684 KiB
29Időlimit túllépés2.075s4840 KiB
30Időlimit túllépés2.063s3804 KiB
31Időlimit túllépés2.063s3576 KiB
subtask50/40
32Időlimit túllépés2.059s3844 KiB
33Időlimit túllépés2.061s4408 KiB
34Időlimit túllépés2.063s5172 KiB
35Időlimit túllépés2.069s5940 KiB
36Időlimit túllépés2.075s6040 KiB
37Időlimit túllépés2.075s6040 KiB
38Időlimit túllépés2.068s4956 KiB
39Időlimit túllépés2.059s6300 KiB
40Időlimit túllépés2.063s4708 KiB
41Időlimit túllépés2.059s4532 KiB