From e471e87897dabcac773ce6cb89b7b937cd223975 Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Thu, 24 Jul 2025 14:15:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20CMakeLists.txt=20=E4=BB=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20C++20=EF=BC=8C=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=96=B0=E7=9A=84=20T634197s1.cpp=20=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- src/7/24/T634197s1.cpp | 81 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/7/24/T634197s1.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index cb5d5e4..ffa4cc1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_compile_options(-Wall) include_directories(${CMAKE_CURRENT_LIST_DIR}/include) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/src/7/24/T634197s1.cpp b/src/7/24/T634197s1.cpp new file mode 100644 index 0000000..f29bab8 --- /dev/null +++ b/src/7/24/T634197s1.cpp @@ -0,0 +1,81 @@ +#include +#include +#include +#include +#include + +using ll = int64_t; + +ll t,s,k1,k2,ans=std::numeric_limits::max(); +std::vector f; +bool found = false; + +template +void log(Ts&&...ts){ + // std::cout<<"Log:: "; + // ((std::cout<=ans)return; + if(now>=s){ + if(now!=s || time==1)return; + ans=std::min(ans,time); + // log("now",now,"time",time,"nowv",nowv); + return; + } + // log("now",now,"time",time,"nowv",nowv); + for(ll i=k2;i>=k1;i--){ + dfs(now+nowv*i,time+1,nowv*i); + } +} + +int main(){ + std::cin>>t; + while(t--){ + std::cin>>s>>k1>>k2; + log("s",s,"k1",k1,"k2",k2); + ans=std::numeric_limits::max(); + found=false; + f.clear(); + ll ns=s; + f.push_back(1); + while(ns!=1){ + for(ll i=2;i*i<=s;i++){ + if(ns%i==0){ + f.push_back(i); + ns/=i; + goto next; + } + } + f.push_back(ns); + ns/=ns; + next:; + } + log("f[i].start"); + for(ll i=0;i::max()?-1:ans)<<'\n'; + } +} \ No newline at end of file