Submission #334928

#TimeUsernameProblemLanguageResultExecution timeMemory
334928beksultan04Nice sequence (IZhO18_sequence)C++14
0 / 100
88 ms11484 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 = 2e5+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(){ int t; scan1(t) while (t--){ int i,j; scan2(n,m) int l=0,r=400000; while (r-l > 1){ int m = l+r>>1; if (is(m)){ l=m; } else r = m-1; } if (is(r))l=r; 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:55:22: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   55 |             int m = l+r>>1;
      |                     ~^~
sequence.cpp:51:15: warning: unused variable 'j' [-Wunused-variable]
   51 |         int i,j;
      |               ^
sequence.cpp:9:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    9 | #define scan1(a) scanf("%lld",&a);
      |                  ~~~~~^~~~~~~~~~~
sequence.cpp:49:5: note: in expansion of macro 'scan1'
   49 |     scan1(t)
      |     ^~~~~
sequence.cpp:10:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   10 | #define scan2(a,b) scanf("%lld %lld",&a, &b);
      |                    ~~~~~^~~~~~~~~~~~~~~~~~~~
sequence.cpp:52:9: note: in expansion of macro 'scan2'
   52 |         scan2(n,m)
      |         ^~~~~
#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...