145472025-01-15 07:07:14csdavidÁdám és Éva együttcpp17Hibás válasz 27/5035ms1072 KiB
#include <iostream>
#include <vector>
using namespace std;
struct idoszak{
    int kezd, veg;
};

int main()
{
    vector<pair<int, int>> eredmeny;
    int na, ne, ido;
    cin >> ido;
    cin >> na;
    idoszak a[na];
    for(idoszak& it:a){
        cin >> it.kezd >> it.veg;
    }
    cin >> ne;
    idoszak e[ne];
    for(idoszak& it:e){
        cin >> it.kezd >> it.veg;
    }
    int i1=0, i2=0;
    while(i1<na&&i2<ne){
        int kezd, veg;
        //cout << "i1: " << i1 << "\ni2: " << i2 << "\n\n";
        if(a[i1].veg<e[i2].kezd){
            i1++;
        }
        else if(e[i2].veg<a[i1].kezd){
            i2++;
        }
        else{
            kezd=max(a[i1].kezd, e[i2].kezd);
            veg=min(a[i1].veg, e[i2].veg);
            if(kezd!=veg) eredmeny.push_back(make_pair(kezd, veg));
            if(a[i1].veg<e[i2].veg){
                i1++;
            }
            else if(a[i1].veg>e[i2].veg){
                i2++;
            }
            else{
                i1++;
                i2++;
            }
        }

    }
    cout << eredmeny.size() << '\n';
    /*for(pair<int, int>& it:eredmeny){
        cout << it.first << ' ' << it.second << '\n';
    }*/
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base27/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/01ms512 KiB
3Részben helyes1/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Részben helyes1/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Részben helyes1/21ms316 KiB
8Részben helyes1/21ms316 KiB
9Részben helyes1/21ms316 KiB
10Részben helyes1/21ms316 KiB
11Részben helyes1/21ms316 KiB
12Részben helyes1/21ms316 KiB
13Részben helyes1/21ms316 KiB
14Részben helyes1/21ms316 KiB
15Részben helyes1/21ms316 KiB
16Részben helyes1/232ms992 KiB
17Részben helyes2/332ms960 KiB
18Részben helyes1/329ms896 KiB
19Részben helyes2/430ms908 KiB
20Részben helyes2/435ms1072 KiB
21Részben helyes2/432ms1048 KiB
22Részben helyes2/432ms1032 KiB