Submission #427321

#TimeUsernameProblemLanguageResultExecution timeMemory
427321DanerZeinCrossing (JOI21_crossing)C++14
3 / 100
7067 ms4148 KiB
#include <bits/stdc++.h>
#define index int mid=(a+b)/2,le=2*node+1,ri=2*node+2;
using namespace std;
typedef long long ll;
const int MAX_N=2e5+10;
const int MAX_P=MAX_N*4;
int tr[MAX_P];
char la[MAX_P];
void init(int node,int a,int b){
  if(a==b){
    tr[node]=0;
    la[node]='#';
    return;
  }
  index;
  init(le,a,mid);
  init(ri,mid+1,b);
  tr[node]=0;
  la[node]='#';
}
void propagar(int node,int a,int b){
  if(la[node]=='#') return;
  tr[node]=la[node];
  char aux=la[node];
  la[node]='#';
  if(a==b) return;
  index;
  la[le]=aux;
  la[ri]=aux;
}
void update(int node,int a,int b,int l,int r,int val){
  propagar(node,a,b);
  if(l>b || r<a) return;
  if(l<=a && r>=b){
    la[node]=val;
    propagar(node,a,b);
    return;
  }
  index;
  update(le,a,mid,l,r,val);
  update(ri,mid+1,b,l,r,val);
}
int query(int node,int a,int b,int l,int r){
  propagar(node,a,b);
  if(l>b || r<a) return 0;
  if(l<=a && r>=b){
    return tr[node];
  }
  index;
  return query(le,a,mid,l,r)+query(ri,mid+1,b,l,r);
}
int main(){
  int n;
  cin>>n;
  string a,b,c;
  cin>>a>>b>>c;
  init(0,0,n-1);
  int q;
  cin>>q;
  string y;
  cin>>y;
  if(y==a) cout<<"Yes\n";
  else cout<<"No\n";
  for(int i=0;i<q;i++){
    int l,r;
    char x;
    cin>>l>>r>>x;
    l--; r--;
    for(int j=l;j<=r;j++){
      y[j]=x;
    }
    if(y==a) cout<<"Yes\n";
    else cout<<"No\n";
  }
}

Compilation message (stderr)

Main.cpp: In function 'void propagar(int, int, int)':
Main.cpp:2:19: warning: unused variable 'mid' [-Wunused-variable]
    2 | #define index int mid=(a+b)/2,le=2*node+1,ri=2*node+2;
      |                   ^~~
Main.cpp:27:3: note: in expansion of macro 'index'
   27 |   index;
      |   ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...