萌新刚学OI,为什么开了O2反而变慢了呢?
查看原帖
萌新刚学OI,为什么开了O2反而变慢了呢?
989962
congya楼主2023/11/14 19:07

为什么开了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(){
	//freopen("1.in","r",stdin);
	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}]);
	}
}
2023/11/14 19:07
加载中...