Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define PB push_back
- #define ZERO (1e-10)
- #define INF (1<<29)
- #define CL(A,I) (memset(A,I,sizeof(A)))
- #define DEB printf("DEB!\n");
- #define D(X) cout<<" "<<#X": "<<X<<endl;
- #define EQ(A,B) (A+ZERO>B&&A-ZERO<B)
- typedef long long ll;
- typedef long double ld;
- typedef pair<ll,ll> pll;
- typedef vector<int> vi;
- typedef pair<int,int> ii;
- typedef vector<ii> vii;
- #define IN(n) int n;scanf("%d",&n);
- #define FOR(i, m, n) for (int i(m); i < n; i++)
- #define REP(i, n) FOR(i, 0, n)
- #define F(n) REP(i, n)
- #define FF(n) REP(j, n)
- #define FT(m, n) FOR(k, m, n)
- #define aa first
- #define bb second
- void ga(int N,int *A){F(N)scanf("%d",A+i);}
- ll H[1<<23],W;
- struct sX{
- ll *p,*P;
- int N;
- void ini(int n){
- N=1<<(int(log2(n)-ZERO)+1),P=H+W,W+=N*2;
- F(N<<1)P[i]=0;//init val
- }
- void st(int b,int e,ll v){st(b,e,v,1,0,N-1);}
- void st(int b,int e,ll v,int u,int B,int E){
- if(B>e||E<b)return;
- if(b<=B&&e>=E){P[u]+=v;return;}
- st(b,e,v,u<<1,B,(B+E)>>1),st(b,e,v,u<<1|1,(B+E)/2+1,E);
- }
- ll gt(int b,int e){return gt(b,e,1,0,N-1);}
- ll gt(int b,int e,int u,int B,int E){
- if(B>e||E<b)return 0;//fail value
- if(b<=B&&e>=E)return P[u];
- return gt(b,e,u<<1,B,(B+E)>>1)+gt(b,e,u<<1|1,(B+E)/2+1,E)+P[u];
- }
- }T;
- #define CLR W=0
- int N,M,L,a,b;
- int main(void){
- scanf("%d%d%d",&N,&M,&L),T.ini(L);
- F(N)scanf("%d%d",&a,&b),T.st(a,b,1);
- F(M)scanf("%d",&a),printf("%lld\n",T.gt(a,a));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement