CCF 201312-3 最大的矩形
#include<bits/stdc++.h> using namespace std; int num[1000+7]; int n1[1000+7][1000+7]; int main() { int n; cin >> n; for(int i = 0 ; i < n ; i++) { cin >> num[i]; } int mmin = 10001, mmax = -1; for(int j = 0 ; j < n ; j++) { mmin = 100001;//这个是题目问题,应该是(1 ≤ hi ≤ 100000) for(int i = j ; i < n ; i++) { if(mmin > num[i])mmin = num[i]; n1[j][i] = (i+1-j) * mmin; if(mmax < n1[j][i]) mmax = n1[j][i]; } } cout << mmax << endl; }
这是CCF 2013年12月考试的第三题,我认为题目中有错误。

浙公网安备 33010602011771号