88442024-02-01 16:16:39KristófLeghosszabb béke (75 pont)cpp17Elfogadva 75/7568ms6340 KiB
#include <iostream>
#include <vector>
using namespace std;

struct harc{

int kezd;
int veg;


}typedef harc;

int main()
{
    int nap;
    int n;
    cin>>nap>>n;
    int kezd[n];
    int veg[n];
    int haboru[nap+1];
    vector <harc> hab;
    for(int i=0;i<nap;i++){
        haboru[i]=-1;
    }
    for(int i=0;i<n;i++){
        cin>>kezd[i];
        cin>>veg[i];

        if(haboru[kezd[i]]<veg[i]){
        haboru[kezd[i]]=veg[i];
    }
    }
    harc x;
    for(int i=0;i<nap;i++){
        if(haboru[i]!=-1){
                x.kezd=i;
                x.veg=haboru[i];
            if(hab.size()==0){
                hab.push_back(x);
            }
        else{
            if(x.kezd>hab[hab.size()-1].veg){
                hab.push_back(x);
            }
        else if(x.veg>hab[hab.size()-1].veg){
            hab[hab.size()-1].veg=x.veg;
        }
        }
        }

    }
    int max=hab[0].kezd-1;
    int kezd2=1;
    for(int i=0;i<hab.size()-1;i++){
        if(hab[i+1].kezd-hab[i].veg-1>max){
            max=hab[i+1].kezd-hab[i].veg-1;
            kezd2=hab[i].veg+1;
        }

    }

    if(max<nap-hab[hab.size()-1].veg){
        max=nap-hab[hab.size()-1].veg;
        kezd2=hab[hab.size()-1].veg+1;
    }
    if(max==0){
        cout<<-1;
    }
     else cout<<max<<" "<<kezd2;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base75/75
1Elfogadva0/03ms1816 KiB
2Elfogadva0/068ms4372 KiB
3Elfogadva3/33ms2284 KiB
4Elfogadva3/33ms2512 KiB
5Elfogadva3/32ms2652 KiB
6Elfogadva3/32ms2620 KiB
7Elfogadva3/32ms2592 KiB
8Elfogadva4/43ms2536 KiB
9Elfogadva4/43ms2632 KiB
10Elfogadva4/43ms2644 KiB
11Elfogadva4/46ms2948 KiB
12Elfogadva4/48ms3292 KiB
13Elfogadva4/46ms3508 KiB
14Elfogadva4/46ms3696 KiB
15Elfogadva4/47ms3928 KiB
16Elfogadva4/47ms4080 KiB
17Elfogadva4/48ms4380 KiB
18Elfogadva4/48ms4556 KiB
19Elfogadva4/461ms6152 KiB
20Elfogadva4/461ms6180 KiB
21Elfogadva4/459ms6016 KiB
22Elfogadva4/461ms6340 KiB