129592025-01-03 22:51:51ercseferencMekk Mester munkái (50 pont)cpp17Elfogadva 50/5092ms2356 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
struct munka{int kezd, veg, ind;};
bool has(munka n, munka m){
    if(n.veg==m.veg) return n.kezd<m.kezd;
    else return n.veg<m.veg;}
int main()
{
    int n,m; cin>>n>>m; vector<munka>a(n);
    for(int i=0; i<n; i++){cin>>a[i].kezd>>a[i].veg; a[i].ind=i+1;}
    sort(a.begin(),a.end(),has);
    vector<int>l1,l2; int veg1=0,veg2=0;
    for(int i=0; i<n; i++){
        bool ven=a[i].kezd>veg1;
        bool fia=a[i].kezd>veg2;
        if(ven && !fia){veg1=a[i].veg; l1.push_back(a[i].ind);}
        else if(!ven && fia){veg2=a[i].veg; l2.push_back(a[i].ind);}
        else if(ven && fia){if(veg1>=veg2){veg1=a[i].veg; l1.push_back(a[i].ind);}
                            else{veg2=a[i].veg; l2.push_back(a[i].ind);}}}
    cout<<l1.size()<<" "<<l2.size()<<endl;
    for(int i=0; i<l1.size(); i++){cout<<l1[i]<<" ";}cout<<endl;
    for(int i=0; i<l2.size(); i++){cout<<l2[i]<<" ";}
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms320 KiB
2Elfogadva0/08ms524 KiB
3Elfogadva1/11ms320 KiB
4Elfogadva1/11ms320 KiB
5Elfogadva2/21ms320 KiB
6Elfogadva2/21ms320 KiB
7Elfogadva2/21ms320 KiB
8Elfogadva2/21ms500 KiB
9Elfogadva3/31ms320 KiB
10Elfogadva1/12ms320 KiB
11Elfogadva1/12ms508 KiB
12Elfogadva2/22ms332 KiB
13Elfogadva2/22ms320 KiB
14Elfogadva2/22ms420 KiB
15Elfogadva2/22ms556 KiB
16Elfogadva3/31ms320 KiB
17Elfogadva2/282ms1584 KiB
18Elfogadva2/282ms1784 KiB
19Elfogadva4/482ms1592 KiB
20Elfogadva4/482ms1588 KiB
21Elfogadva4/483ms1784 KiB
22Elfogadva4/485ms1592 KiB
23Elfogadva4/492ms2356 KiB