QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#100150 | #186. Street Lamps | Logic_J_X | Compile Error | / | / | C++14 | 5.4kb | 2023-04-24 20:24:05 | 2023-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]
- 评测
- 测评结果:Compile Error
- 用时:0ms
- 内存:0kb
- [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...