Submission #689973

#TimeUsernameProblemLanguageResultExecution timeMemory
689973inwbearLutrija (COCI19_lutrija)C++14
70 / 70
463 ms304 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(LL i=2;i<=k&&i<x;i++){
    if(x%i==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);
  }
  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("%lld ",ans[i]);
  }
  else printf("-1");
}

Compilation message (stderr)

lutrija.cpp: In function 'int main()':
lutrija.cpp:41: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=]
   41 |     printf("%d\n",ans.size());
      |             ~^    ~~~~~~~~~~
      |              |            |
      |              int          std::vector<long long int>::size_type {aka long unsigned int}
      |             %ld
lutrija.cpp:42:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |     for(int i=0;i<ans.size();i++)printf("%lld ",ans[i]);
      |                 ~^~~~~~~~~~~
lutrija.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |   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...