为什么开了O2反而变慢了呢?
如下,map甚至是STL啊
#include<bits/stdc++.h>
using namespace std;
#define sc(i) scanf("%d",&i)
#define enter cerr<<endl;
typedef long long ll;
map<pair<int,int>,ll>q;
int main(){
int n, k, t;
cin>>n>>k>>t;
ll sum[k+5][n+5]={0};
for(int i=1;i<=k;i++)
for(int j=1;j<=n;j++){
scanf("%lld",&sum[i][j]);
sum[i][j]+=sum[i][j-1];
}
while(t--){
int l,r;
scanf("%d%d",&l,&r);
ll maxn=0;
if(q.find({l,r})==q.end()){
for(int i=1;i<=k;i++){
maxn=max(maxn,sum[i][r]-sum[i][l-1]);
}
q[{l,r}]=maxn;
}
printf("%lld\n",q[{l,r}]);
}
}