360企业安全的那套威力题,为什么AC不了
360企业安全的那套威力题,需要考虑什么特殊情况吗?为什么AC不了
#include <iostream>
#include <vector>#include <string>
#include <queue>
#include <deque>
#include <tuple>
#include <stack>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <ctime>
#include <cstring>
#include <cctype>
#include <iomanip>
#include <numeric>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
int Query_min(int *A, int a, int b){
int min_num=A[a];
for (int i = a+1; i <=b; i++){
if (min_num > A[i]){
min_num = A[i];
}
}
return min_num;
}
int Query_max(int *A, int a, int b){
int max_num = A[a];
for (int i = a + 1; i <= b; i++){
if (max_num < A[i]){
max_num = A[i];
}
}
return max_num;
}
int main()
{
LL n;
cin >> n;
int *a = new int[n];
int *l = new int[n];
for (int i = 0; i<n; i++){
cin >> a[i];
l[i] = i + 1;
}
int *b = new int[n];
int *r = new int[n];
for (int i = 0; i<n; i++){
cin >> b[i];
r[i] = (i + 1) - b[i] + 1;
}
for (int i = 0; i < n; i++){
int n1 = l[i];
int n2= r[i];
if (n1 > n2){
int temp = n1;
n1=n2;
n2 = temp;
}
int t = Query_min(a, n1-1, n2-1)*Query_max(a,n1-1,n2-1);
cout << t << endl;
}
system("pause");
return 0;
}