死循环下第一个for循环中的判断有什么问题啊?总是判断不了
#include<iostream>
#include<cmath>
using namespace std;
int t[105],j[105],b[105],kk[105];//kk[i]==j[i]/t[i] ,b[i]==trun/fl
int main(){
int n;
int time,jj=0;
int MAX=-1,jjj=n,MIN=1000000;//MAX=价值/时间,MIN最小时间
cin>>time>>n;
for(int i=1;i<=n;i++){
cin>>t[i]>>j[i];
kk[i]=j[i]/t[i];
}
int o=0,m=0;
for(;;){
o=0;
for(int i=1;i<=n;i++){
if(b[i]==0){
if(kk[i]>MAX){
MAX=kk[i];
}
}
}
for(int i=1;i<=n;i++){
if(kk[i]==MAX&&b[i]==0){
time-=t[i];
jj+=j[i];
b[i]=1;
cout<<j[i]<<endl;
}
}
for(int i=1;i<=n;i++){
if(b[i]==1){
o++;
}
}
for(int i=1;i<=n;i++){
if(b[i]==0&&t[i]<MIN){
MIN=t[i];
}
}
if(o==n){
break;
}
if(time<MIN){
break;
}
}
cout<<jj;
return 0;
}
各位犇犇帮我看看吧