Zadatak “Najbrojniji presek intervala”:Zadatak
Može li neko da mi objasni zašto ovaj kod ne radi, specifično na test primerima 2 i 7(Wrong answer) na ostalim test primerima je OK
Zadatak je rešilo 0% tako da je moguća greška u primerima?
#include iostream>
#include algorithm>
using namespace std;
int main() {
int n;
unsigned long int k[50000][2],a[50000],b[50000],niz[100000];
cin>>n; //ulaz
for(int i=0;i<n;i++){
for(int j=0;j<2;j++)
cin>>k[i][j];
}
for(int i=0;i<n;i++){ //deklarisanje pomocnih nizova
a[i]=k[i][0];
b[i]=k[i][1];
}
sort(a, a+n); //sortiranje 2 niza
sort(b, b+n);
int y=2*n; //duzina niza
int v=0;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
niz[v]=k[i][j];
v++;
}
}
sort(niz, niz+y);
unsigned long int niz1[100000]; //novi niz bez duplikata
int l=0;
for(int i=0;i<y;i++){
if(niz[i]!=niz[i+1]){
niz1[l]=niz[i];
l++;
}}
int x=0;
unsigned long int f[100000];
for(int i=0;i<l;i++){
for(int j=0;j<=n;j++){
if(niz1[i]==a[j]) x++;
if(niz1[i]==b[j]) x--;
}
f[i]=x; //broj gostiju u svakom trenutku
}
int resenje=f[0]; //najveci clan niza f predstavlja najveci broj gostiju u jednom trenutku
for(int i=0;i<l;i++)
if(f[i]>resenje) resenje=f[i];
cout<<resenje; //resenje
return 0;
}