Submission #800882

#TimeUsernameProblemLanguageResultExecution timeMemory
800882amogusususRadio (COCI22_radio)C++17
10 / 110
17 ms1244 KiB
#pragma GCC optimize("Ofast,unroll-loops,inline") #pragma GCC target("avx2,bmi,bmi2") #include<iostream> #include<bitset> #include<algorithm> #include<numeric> #define ll int #define endl '\n' #define open(name) if(fopen(name".inp", "r")){freopen(name".inp", "r", stdin); freopen(name".out", "w", stdout);} using namespace std; const int maxN=100001; const int mod=1e9+7; ll n,q; ll spf[maxN],c[maxN]; bitset<maxN> a; void Enter(){ cin>>n>>q; ll cnt=0; while(q--){ char t; ll u,v; cin>>t>>u; if(t=='S'){ if(a[u]){ a[u]=0; while(u!=1){ ll x=spf[u]; while(u%x==0)u/=x; if(c[x]==2)cnt--; c[x]--; } } else { a[u]=1; while(u!=1){ ll x=spf[u]; while(u%x==0)u/=x; if(c[x]==1)cnt++; c[x]++; } } } else { cin>>v; if(u==1&&v==n)cout<<(cnt?"DA":"NE")<<endl; else { bool f=0; for(int i=a._Find_next(u-1);i<v;i=a._Find_next(i)) for(int j=a._Find_next(i);j<=v;j=a._Find_next(j)) if(__gcd(i,j)!=1){f=1;i=v+1;break;} cout<<(f?"DA":"NE")<<endl; } } } } //amogus signed main(){ iota(spf,spf+maxN,0); for(int i=2;i<maxN;i++)if(spf[i]==i)for(int j=i*2;j<maxN;j+=i)spf[j]=i; open("RADIO"); cin.tie(nullptr);ios_base::sync_with_stdio(NULL); //int t=1;cin>>t;while(t--) Enter(); }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:9:54: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 | #define open(name) if(fopen(name".inp", "r")){freopen(name".inp", "r", stdin); freopen(name".out", "w", stdout);}
      |                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:58:5: note: in expansion of macro 'open'
   58 |     open("RADIO");
      |     ^~~~
Main.cpp:9:87: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 | #define open(name) if(fopen(name".inp", "r")){freopen(name".inp", "r", stdin); freopen(name".out", "w", stdout);}
      |                                                                                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:58:5: note: in expansion of macro 'open'
   58 |     open("RADIO");
      |     ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...