QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#100150#186. Street LampsLogic_J_XCompile Error//C++145.4kb2023-04-24 20:24:052023-04-24 20:24:08

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-04-24 20:24:08]
  • 评测
  • [2023-04-24 20:24:05]
  • 提交

answer

#include<bits/stdc++.h>
#define N 300005
#define inf 0x3f3f3f3f3f3f3f3f
#define db double
#define LL long long
//#define int long long
#define veci vector<int>
#define pb push_back 
#define ins insert
#define era erase
#define II inline int 
#define IV inline void
#define lb lower_bound
#define ub upper_bound

#define re read() 
#define pf printf
#define gc getchar()
#define pfi(x) printf("%d\n",x)
#define pfl(x) printf("%lld\n",x)

#define ad(x,y) (x=(x+y>=mo) ? x+y-mo : x+y)
#define adn(x,y) ((x+y>=mo) ? x+y-mo : x+y)
#define de(x,y) (x=(x-y<0) ? x-y+mo : x-y)
#define den(x,y) ((x-y<0) ? x-y+mo : x-y)
#define cmx(x,y) x=max(x,y)
#define cmn(x,y) x=min(x,y)
#define mt(a,b) memset(a,b,sizeof(a)) 
#define clr(a,n) memset(a,0,sizeof(int)*(n)) 
#define cpy(f,g,n) memcpy(f,g,sizeof(int)*(n))
#define f(i,x,y) for(int i=(x); i<=(y); i++)
#define fl(i,x,y) for(int i=(x); i<(y); i++)
#define fb(i,x,y) for(int i=(y); i>=(x); i--)
using namespace std;
II read(){
	int res=0; char c=gc;
	while(c<48 || 57<c) c=gc;
	while(47<c && c<58) res=(res<<1)+(res<<3)+(c^48),c=gc;
	return res;
}
int n,q;
int a[N];
struct poi{
	int l,r,t,w,id;
	bool operator < (const poi &a)const{
		return l<a.l;
	} 
}p[N<<2];
int ans[N];
#define lowb(x) (x&-x)
int v1[N],v2[N];//1: cnt , 2: sum
IV add(auto v,int x,int k){
	while(x<=n) v[x]+=k,x+=lowb(x);
}
II gets(auto v,int x){
	int res=0;
	while(x) res+=v[x],x-=lowb(x);
	return res;
}
II que(auto v,int l,int r){
	return gets(v,r)-gets(v,l-1);
}
int cnt;
IV cdq(int l,int r){
	if(l>=r) return ;
	int mid=l+r>>1;
	cdq(l,mid); cdq(mid+1,r);
	int nr=mid+1;
	f(i,l,mid){
		for(;nr<=r && p[nr].l<=p[i].l; nr++) ans[p[nr].id]+=que(v1,p[nr].r,n)*p[nr].t+que(v2,p[nr].r,n);
		if(p[i].w) add(v1,p[i].r,p[i].w),add(v2,p[i].r,-p[i].w*p[i].t);
	}
	while(nr<=r) ans[p[nr].id]+=que(v1,p[nr].r,n)*p[nr].t-que(v2,p[nr].r,n),nr++;
	f(i,l,mid) if(p[i].w) add(v1,p[i].r,-p[i].w),add(v2,p[i].r,p[i].w*p[i].t);
	sort(p+l,p+r+1);
}
set<int> s;
bool cmp(poi a,poi b){
	return a.t<b.t;
}
IV sol(){
	int l=0; 
	f(i,0,n)if(!a[i]){
		if(s.size()) p[++cnt]={*s.rbegin(),i,0,1};
		s.ins(i);
	}
	int x;
	char c;
	f(i,1,q){
		c=gc; x=re;
		if(c=='q') p[++cnt]={x,re,i,0,i};
		else
			if(a[x]^=1){
				auto o=s.find(x);
				p[++cnt]={*prev(o),x,i,-1}; 
				p[++cnt]={x,*next(o),i,-1};
				p[++cnt]={*prev(o),*next(o),i,1};
				s.era(o);
			}
			else{
				auto o=s.ins(x).first;
				p[++cnt]={*prev(o),x,i,1}; 
				p[++cnt]={x,*next(o),i,1};
				p[++cnt]={*prev(o),*next(o),i,-1};
			}
	}
	cdq(1,cnt);
	sort(p+1,p+1+cnt,cmp);
	f(i,1,cnt) if(p[i].id)pfi(ans[p[i].id]);
}
signed main(){
	n=re; q=re;
	f(i,1,n) a[i]=gc^48; gc;
	n++;
	sol();
	return 0;
}#include<bits/stdc++.h>
#define N 300005
#define inf 0x3f3f3f3f3f3f3f3f
#define db double
#define LL long long
//#define int long long
#define veci vector<int>
#define pb push_back 
#define ins insert
#define era erase
#define II inline int 
#define IV inline void
#define lb lower_bound
#define ub upper_bound

#define re read() 
#define pf printf
#define gc getchar()
#define pfi(x) printf("%d\n",x)
#define pfl(x) printf("%lld\n",x)

#define ad(x,y) (x=(x+y>=mo) ? x+y-mo : x+y)
#define adn(x,y) ((x+y>=mo) ? x+y-mo : x+y)
#define de(x,y) (x=(x-y<0) ? x-y+mo : x-y)
#define den(x,y) ((x-y<0) ? x-y+mo : x-y)
#define cmx(x,y) x=max(x,y)
#define cmn(x,y) x=min(x,y)
#define mt(a,b) memset(a,b,sizeof(a)) 
#define clr(a,n) memset(a,0,sizeof(int)*(n)) 
#define cpy(f,g,n) memcpy(f,g,sizeof(int)*(n))
#define f(i,x,y) for(int i=(x); i<=(y); i++)
#define fl(i,x,y) for(int i=(x); i<(y); i++)
#define fb(i,x,y) for(int i=(y); i>=(x); i--)
using namespace std;
II read(){
	int res=0; char c=gc;
	while(c<48 || 57<c) c=gc;
	while(47<c && c<58) res=(res<<1)+(res<<3)+(c^48),c=gc;
	return res;
}
int n,q;
int a[N];
struct poi{
	int l,r,t,w,id;
	bool operator < (const poi &a)const{
		return l<a.l;
	} 
}p[N<<2];
int ans[N];
#define lowb(x) (x&-x)
int v1[N],v2[N];//1: cnt , 2: sum
IV add(auto v,int x,int k){
	while(x<=n) v[x]+=k,x+=lowb(x);
}
II gets(auto v,int x){
	int res=0;
	while(x) res+=v[x],x-=lowb(x);
	return res;
}
II que(auto v,int l,int r){
	return gets(v,r)-gets(v,l-1);
}
int cnt;
IV cdq(int l,int r){
	if(l>=r) return ;
	int mid=l+r>>1;
	cdq(l,mid); cdq(mid+1,r);
	int nr=mid+1;
	f(i,l,mid){
		for(;nr<=r && p[nr].l<=p[i].l; nr++) ans[p[nr].id]+=que(v1,p[nr].r,n)*p[nr].t+que(v2,p[nr].r,n);
		if(p[i].w) add(v1,p[i].r,p[i].w),add(v2,p[i].r,-p[i].w*p[i].t);
	}
	while(nr<=r) ans[p[nr].id]+=que(v1,p[nr].r,n)*p[nr].t-que(v2,p[nr].r,n),nr++;
	f(i,l,mid) if(p[i].w) add(v1,p[i].r,-p[i].w),add(v2,p[i].r,p[i].w*p[i].t);
	sort(p+l,p+r+1);
}
set<int> s;
bool cmp(poi a,poi b){
	return a.t<b.t;
}
IV sol(){
	int l=0; 
	f(i,0,n)if(!a[i]){
		if(s.size()) p[++cnt]={*s.rbegin(),i,0,1,0};
		s.ins(i);
	}
	int x;
	char c;
	f(i,1,q){
		c=gc; x=re;
		if(c=='q') p[++cnt]={x,re,i,0,i};
		else
			if(a[x]^=1){
				auto o=s.find(x);
				p[++cnt]={*prev(o),x,i,-1,0}; 
				p[++cnt]={x,*next(o),i,-1,0};
				p[++cnt]={*prev(o),*next(o),i,1,0};
				s.era(o);
			}
			else{
				auto o=s.ins(x).first;
				p[++cnt]={*prev(o),x,i,1,0}; 
				p[++cnt]={x,*next(o),i,1,0};
				p[++cnt]={*prev(o),*next(o),i,-1,0};
			}
	}
	cdq(1,cnt);
	sort(p+1,p+1+cnt,cmp);
	f(i,1,cnt) if(p[i].id)pfi(ans[p[i].id]);
}
signed main(){
	n=re; q=re;
	f(i,1,n) a[i]=gc^48; gc;
	n++;
	sol();
	return 0;
}

Details

answer.code:117:2: error: stray ‘#’ in program
  117 | }#include<bits/stdc++.h>
      |  ^
answer.code:52:8: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’
   52 | IV add(auto v,int x,int k){
      |        ^~~~
answer.code:55:9: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’
   55 | II gets(auto v,int x){
      |         ^~~~
answer.code:60:8: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’
   60 | II que(auto v,int l,int r){
      |        ^~~~
answer.code:117:3: error: ‘include’ does not name a type
  117 | }#include<bits/stdc++.h>
      |   ^~~~~~~
answer.code:151:4: error: redefinition of ‘int read()’
  151 | II read(){
      |    ^~~~
answer.code:35:4: note: ‘int read()’ previously defined here
   35 | II read(){
      |    ^~~~
answer.code:157:5: error: redefinition of ‘int n’
  157 | int n,q;
      |     ^
answer.code:41:5: note: ‘int n’ previously declared here
   41 | int n,q;
      |     ^
answer.code:157:7: error: redefinition of ‘int q’
  157 | int n,q;
      |       ^
answer.code:41:7: note: ‘int q’ previously declared here
   41 | int n,q;
      |       ^
answer.code:158:5: error: redefinition of ‘int a [300005]’
  158 | int a[N];
      |     ^
answer.code:42:5: note: ‘int a [300005]’ previously declared here
   42 | int a[N];
      |     ^
answer.code:159:8: error: redefinition of ‘struct poi’
  159 | struct poi{
      |        ^~~
answer.code:43:8: note: previous definition of ‘struct poi’
   43 | struct poi{
      |        ^~~
answer.code:164:2: error: conflicting declaration ‘int p [1200020]’
  164 | }p[N<<2];
      |  ^
answer.code:48:2: note: previous declaration as ‘poi p [1200020]’
   48 | }p[N<<2];
      |  ^
answer.code:165:5: error: redefinition of ‘int ans [300005]’
  165 | int ans[N];
      |     ^~~
answer.code:49:5: note: ‘int ans [300005]’ previously declared here
   49 | int ans[N];
      |     ^~~
answer.code:167:5: error: redefinition of ‘int v1 [300005]’
  167 | int v1[N],v2[N];//1: cnt , 2: sum
      |     ^~
answer.code:51:5: note: ‘int v1 [300005]’ previously declared here
   51 | int v1[N],v2[N];//1: cnt , 2: sum
      |     ^~
answer.code:167:11: error: redefinition of ‘int v2 [300005]’
  167 | int v1[N],v2[N];//1: cnt , 2: sum
      |           ^~
answer.code:51:11: note: ‘int v2 [300005]’ previously declared here
   51 | int v1[N],v2[N];//1: cnt , 2: sum
      |           ^~
answer.code:168:8: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’
  168 | IV add(auto v,int x,int k){
      |        ^~~~
answer.code:168:4: error: redefinition of ‘template<class auto:4> void add(auto:4, int, int)’
  168 | IV add(auto v,int x,int k){
      |    ^~~
answer.code:52:4: note: ‘template<class auto:1> void add(auto:1, int, int)’ previously declared here
   52 | IV add(auto v,int x,int k){
      |    ^~~
answer.code:171:9: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’
  171 | II gets(auto v,int x){
      |         ^~~~
answer.code:171:4: error: redefinition of ‘template<class auto:5> int gets(auto:5, int)’
  171 | II gets(auto v,int x){
      |    ^~~~
answer.code:55:4: note: ‘template<class auto:2> int gets(auto:2, int)’ previously declared here
   55 | II gets(auto v,int x){
      |    ^~~~
answer.code:176:8: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’
  176 | II que(auto v,int l,int r){
      |        ^~~~
answer.code:176:4: error: redefinition of ‘template<class auto:6> int que(auto:6, int, int)’
  176 | II que(auto v,int l,int r){
      |    ^~~
answer.code:60:4: note: ‘template<class auto:3> int que(auto:3, int, int)’ previously declared here
   60 | II que(auto v,int l,int r){
      |    ^~~
answer.code:179:5: error: redefinition of ‘int cnt’
  179 | int cnt;
      |     ^~~
answer.code:63:5: note: ‘int cnt’ previously declared here
   63 | int cnt;
      |     ^~~
answer.code:180:4: error: redefinition of ‘void cdq(int, int)’
  180 | IV cdq(int l,int r){
      |    ^~~
answer.code:64:4: note: ‘void cdq(int, int)’ previously defined here
   64 | IV cdq(int l,int r){
      |    ^~~
answer.code:193:10: error: redefinition of ‘std::set<int> s’
  193 | set<int> s;
      |          ^
answer.code:77:10: note: ‘std::set<int> s’ previously declared here
   77 | set<int> s;
      |          ^
answer.code:194:6: error: redefinition of ‘bool cmp(poi, poi)’
  194 | bool cmp(poi a,poi b){
      |      ^~~
answer.code:78:6: note: ‘bool cmp(poi, poi)’ previously defined here
   78 | bool cmp(poi a,poi b){
      |      ^~~
answer.code:197:4: error: redefinition of ‘void sol()’
  197 | IV sol(){
      |    ^~~
answer.code:81:4: note: ‘void sol()’ previously defined here
   81 | IV sol(){
      |    ^~~
answer.code:227:8: error: redefinition of ‘int main()’
  227 | signed main(){
      |        ^~~~
answer.code:111:8: note: ‘int main()’ previously defined here
  111 | signed...