#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,i,j,ans,l;
int t,op,k,Max,sm;
int a[2005];
signed main(){
scanf("%lld",&n);
for(i=1;i<=n;i++) scanf("%lld",&a[i]);
scanf("%lld",&m);
for(i=1;i<=m;i++){
scanf("%lld%lld",&op,&k);
a[op]+=k;
ans=0;
for(j=1;j<=n;j++){
Max=-1;
for(l=j+1;l<=n;l++){
double p=(double)(a[l]-a[j])/(double)(l-j);
double p1=(double)a[j]-(p*j);
if((double)Max<=(double)sm*p+p1) ans++;
if(a[l]>Max) Max=a[l],sm=l;
}
}
printf("%lld\n",ans);
}
return 0;
}
rt,WA了一大片,基本思路就是两点求解析式看看是否覆盖两点间的最大值。