252722026-02-18 22:20:55abcdÜgyeletcpp17Hibás válasz 18/408ms672 KiB
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;

int main(){
    int m,n;cin>>m>>n;
    vector<array<int,3>> v(n);
    for(int i=0;i<n;i++){
        cin>>v[i][0]>>v[i][1];
        v[i][2]=i+1;
    }
    sort(v.begin(),v.end(),[](array<int,3> a,array<int,3> b){
        if(a[0]==b[0])return a[1]>=b[1];
        return a[0]<=b[0];
    });
    int a=1,b=1,i=0;
    vector<int> ans;
    while(a<m+1&&i<n){
        int best=-1;
        int prev=-1;
        while(i<n&&v[i][0]<=a&&prev!=b){
            if(best==-1||v[i][1]>v[best][1])best=i;
            prev=v[i][0];
            i++;
        }
        if(best==-1){
            cout<<"0\n";
            return 0;
        }
        a=v[best][1]+1;
        ans.push_back(v[best][2]);
        if(a>b)swap(a,b);
    }
    cout<<ans.size()<<'\n';
    for(int x:ans)cout<<x<<' ';cout<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base18/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms508 KiB
6Elfogadva2/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/21ms316 KiB
10Elfogadva2/22ms316 KiB
11Hibás válasz0/22ms316 KiB
12Elfogadva1/12ms564 KiB
13Elfogadva2/22ms316 KiB
14Hibás válasz0/23ms316 KiB
15Elfogadva2/24ms316 KiB
16Elfogadva3/37ms672 KiB
17Hibás válasz0/37ms508 KiB
18Hibás válasz0/38ms632 KiB
19Hibás válasz0/38ms636 KiB
20Hibás válasz0/38ms628 KiB