10分求大佬,代码如下:
#include<bits/stdc++.h>
#define N 1000005
using namespace std;
int n,x[N],y[N],a[N],b[N],mina1[N],mina2[N],minb1[N],minb2[N];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%d",&x[i],&y[i]);
for(int i=1;i<=n;i++) a[i]=x[i]-y[i],b[i]=x[i]-(i==1?y[n]:y[i-1]);
for(int i=1;i<=n;i++) a[i]+=a[i-1];for(int i=n;i>=1;i--) b[i]+=b[i+1];
mina1[0]=mina2[n+1]=minb1[0]=minb2[n+1]=2e9;
for(int i=1;i<=n;i++) mina1[i]=min(mina1[i-1],a[i]),mina2[i]=min(mina2[i+1],a[i]),minb1[i]=min(minb1[i-1],b[i]),minb2[i]=min(minb2[i+1],b[i]);
for(int i=1;i<=n;i++){
if(mina2[i]-a[i-1]>=0&&a[n]-a[i-1]+mina1[i-1]>=0||minb1[i]-b[i+1]>=0&&b[1]-b[i+1]+minb2[i+1]>=0) printf("TAX\n");
else printf("NIE\n");
}
return 0;
}