1)
i = 0;
while(i < N){
j = i+1;
while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;
i = j; res++;
}
2)
for(i=0;i<N;i++){
j = i+1;
while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;
i = j; res++;
}
最初のコードと 2 番目のコードが異なるのは、1) の while ループと 2) の for ループだけです。しかし、私によると、それらの両方による出力は同じはずですが、異なります。上記のコードは両方とも、コード全体の一部にすぎません。しかし、1) による出力は 2 ですが、2) による出力は 3 です。
起こっていることはすべて同じなので、答えが異なる理由はわかりません。