Submission #334962

#TimeUsernameProblemLanguageResultExecution timeMemory
334962beksultan04Nice sequence (IZhO18_sequence)C++14
100 / 100
670 ms49492 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> #define OK puts("OK"); #define fr first #define sc second #define ret return #define scan1(a) scanf("%lld",&a); #define scan2(a,b) scanf("%lld %lld",&a, &b); #define scan3(a,b,c) scanf("%lld %lld %lld",&a,&b,&c); #define all(s) s.begin(),s.end() #define pb push_back #define endi puts(""); const int N = 5e5+12,INF=1e9+7; int sz,vis[N],pref[N],m,n; vector <int> v; void dfs(int x){ vis[x]=1; if (x-m >= 0 && !vis[x-m]){ dfs(x-m); } if (x+n<=sz && !vis[x+n]){ dfs(x+n); } v.pb(x); } bool is(int x){ sz = x; v.clear(); int i; for (i=0;i<=sz;++i) vis[i]=0; for (i=0;i<=sz;++i) if (!vis[i])dfs(i); for (i=0;i<v.size();++i){ pref[v[i]]=i; } for (i=0;i<=sz;++i){ if (i-m >= 0 && pref[i] <= pref[i-m])ret 0; if (i+n <= sz && pref[i] <= pref[i+n])ret 0; } ret 1; } main(){ ios_base::sync_with_stdio; int t; cin>>t; while (t--){ int i,j; cin>>n>>m; int l=n+m-1-__gcd(n,m); is(l); cout <<l<<"\n"; for (i=1;i<=l;++i){ cout <<pref[i]-pref[i-1]<<" "; } endi } }

Compilation message (stderr)

sequence.cpp: In function 'bool is(long long int)':
sequence.cpp:37:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for (i=0;i<v.size();++i){
      |              ~^~~~~~~~~
sequence.cpp: At global scope:
sequence.cpp:47:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   47 | main(){
      |      ^
sequence.cpp: In function 'int main()':
sequence.cpp:48:15: warning: statement is a reference, not call, to function 'std::ios_base::sync_with_stdio' [-Waddress]
   48 |     ios_base::sync_with_stdio;
      |     ~~~~~~~~~~^~~~~~~~~~~~~~~
sequence.cpp:48:15: warning: statement has no effect [-Wunused-value]
sequence.cpp:52:15: warning: unused variable 'j' [-Wunused-variable]
   52 |         int i,j;
      |               ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...