#include<bits/stdc++.h>
using namespace std;
int n,t,a[1001][1001],z,c,fx[1001][1001],fy[1001][1001];
int main()
{
freopen("scout.in","r",stdin);
freopen("scout.out","w",stdout);
cin>>n>>t;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
for(int i=2;i<=n;i++)
for(int j=2;j<=n;j++)
fx[i][j]=fx[i][j-1]+fx[i-1][j]-fx[i-1][j-1]+a[i-1][j-1];
for(int i=n-1;i>=1;i--)
for(int j=n-1;j>=1;j--)
fy[i][j]=fy[i][j+1]+fy[i+1][j]-fy[i+1][j+1]+a[i+1][j+1];
for(int i=1;i<=t;i++)
{
cin>>z>>c;
cout<<fx[z][c]+fy[z][c]<<'\n';
}
return 0;
}
//
#include<bits/stdc++.h>
using namespace std;
int n,c,a[100001],ans,s[100001];
int main()
{
freopen("dec.in","r",stdin);
freopen("dec.out","w",stdout);
cin>>n>>c;
int f1=1,d=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(d==0 and a[i]>=c)
d=i;
}
for(int i=d;i<=n;i++)
{
if(a[i]==a[i-1])
{
s[i]=s[i-1];
ans+=s[i];
}
else
{
for(int j=f1;j<i;j++)
{
if(a[i]-a[j]==c)
{
ans++;
s[i]++;
}
if(a[i]-a[j]>c)
f1=j+1;
}
}
// cout<<s[i]<<' '<<ans<<'\n';
}
cout<<ans;
return 0;
}
侦察冰,差
于 2024-01-18 20:32:43 首次发布