目录
一、题目
二、解决代码
(1)版本一(报错:超时)
代码分析
(2)版本二(不会超时)
代码分析
(3)版本三(最终精简版)
编辑代码分析
一、题目
二、解决代码
(1)版本一(报错:超时)
#include<bits/stdc++.h>
using namespace std;
int main()
{long long N;cin >> N;long long a,b;long long v_min=0,v_max=0;long long ji_min[N], ji_max[N];for(int i=0; i<N; i++){cin >> a >> b;v_min = a / b;v_max = a / b; for(int j=1; j<=a; j++){if(a/j==b){if(j<v_min){v_min = j;}if(j>v_max){v_max = j;}}if(a/j<b){break;}}ji_min[i] = v_min;ji_max[i] = v_max;}v_min = ji_min[0];v_max = ji_max[0];for(int i=0; i<N; i++){if(ji_min[i]>v_min){v_min = ji_min[i];}if(ji_max[i]<v_max){v_max = ji_max[i];}}cout << v_min << " " << v_max;return 0;
}
代码分析
(2)版本二(不会超时)
#include<bits/stdc++.h>
using namespace std;
int main()
{long long N;cin >> N;long long a,b;long long v_min=0,v_max=0;long long ji_min[N], ji_max[N];for(int i=0; i<N; i++){cin >> a >> b;v_min = a/b;v_max = a/b;for(int j=v_max; a/j==b ; j--){v_min = j;} ji_min[i] = v_min;ji_max[i] = v_max;}v_min = ji_min[0];v_max = ji_max[0];for(int i=0; i<N; i++){if(ji_min[i]>v_min){v_min = ji_min[i];}if(ji_max[i]<v_max){v_max = ji_max[i];}}cout << v_min << " " << v_max;return 0;
}
代码分析
(3)版本三(最终精简版)
#include<bits/stdc++.h>
using namespace std;
int main()
{long long N;cin >> N;long long a,b;long long v_min=0,v_max=0;for(int i=0; i<N; i++){cin >> a >> b;if(i==0){v_min = a/(b+1);v_max = a/b;}else{if(a/(b+1)>v_min){v_min = a/(b+1);}if(a/b<v_max){v_max = a/b;}}}cout << v_min+1 << " " << v_max;return 0;
}