Submission #688621

#TimeUsernameProblemLanguageResultExecution timeMemory
688621inwbearLutrija (COCI19_lutrija)C++14
0 / 70
1 ms300 KiB
#include<bits/stdc++.h> using namespace std; typedef long long LL; vector<LL>ans; LL a,b; bool isprime(LL x){ if(x<2)return false; LL k=sqrt(x); for(int i=2;i<=k&&i<x;i++){ if(x%k==0)return false; } return true; } bool to2(LL x,bool rev){ if(x==2){ if(rev)ans.push_back(2); return true; } bool p=false; LL rr=x; while(1){ if(!isprime(rr))break; if(isprime(rr-2)){ p=true; break; } rr=rr+2; } if(p){ if(rev){ for(LL i=x;i<=rr;i+=2)ans.push_back(i); ans.push_back(2); } else for(LL i=rr;i>=x;i-=2)ans.push_back(i); } else{ rr=x; while(1){ if(!isprime(rr))break; if(isprime(rr-2)){ p=true; break; } rr=rr-2; } if(p){ if(rev){ for(LL i=x;i>=rr;i-=2)ans.push_back(i); ans.push_back(2); } else for(LL i=rr;i<=x;i+=2)ans.push_back(i); } } return p; } int main(){ scanf("%lld %lld",&a,&b); if(to2(a,true)&&to2(b,false)){ printf("%d\n",ans.size()); for(int i=0;i<ans.size();i++)printf("%d ",ans[i]); } else printf("-1"); }

Compilation message (stderr)

lutrija.cpp: In function 'int main()':
lutrija.cpp:59:14: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   59 |     printf("%d\n",ans.size());
      |             ~^    ~~~~~~~~~~
      |              |            |
      |              int          std::vector<long long int>::size_type {aka long unsigned int}
      |             %ld
lutrija.cpp:60:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |     for(int i=0;i<ans.size();i++)printf("%d ",ans[i]);
      |                 ~^~~~~~~~~~~
lutrija.cpp:60:43: warning: format '%d' expects argument of type 'int', but argument 2 has type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} [-Wformat=]
   60 |     for(int i=0;i<ans.size();i++)printf("%d ",ans[i]);
      |                                          ~^
      |                                           |
      |                                           int
      |                                          %lld
lutrija.cpp:57:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   57 |   scanf("%lld %lld",&a,&b);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...