站外题求调
  • 板块学术版
  • 楼主Mumu_3
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/10/3 13:01
  • 上次更新2023/10/27 09:04:12
查看原帖
站外题求调
586329
Mumu_3楼主2022/10/3 13:01

CE显示main必须返回int

#include <bits/stdc++.h>
#define int long long
#define DoNotOpen freopen
using namespace std;
const int maxn=2e6+5;
int n,q;
int a[5005],b[maxn*2];
int f[5005][5005];
int main(){
    DoNotOpen("3sum.in","r",stdin);
    DoNotOpen("3sum.out","w",stdout);
    cin>>n>>q;
    for (int i=1;i<=n;i++) cin>>a[i];
    for (int i=1;i<=n;i++) {
        for (int j=i+1;j<=n;j++) {
            f[i][j]=b[maxn-a[i]-a[j]];
            b[a[j]+maxn]++;
        }
        for (int j=i+1;j<=n;j++) b[a[j]+maxn]=0;
    }
    for (int i=3;i<=n;i++) {
        for (int j=1;j<=n-i+1;j++) {
            int k=i+j-1;
            f[j][k]+=f[j+1][k]+f[j][k-1]-f[j+1][k-1];
        }
    }
    while (q--) {
        int x, y;
        cin>>x>>y;
        cout<<f[x][y]<<endl;
    }
    return 0;
}
2022/10/3 13:01
加载中...