diff --git a/contest-20231203/2951/main.cpp b/contest-20231203/2951/main.cpp new file mode 100644 index 0000000..207b7b1 --- /dev/null +++ b/contest-20231203/2951/main.cpp @@ -0,0 +1,32 @@ +#include +using namespace std; +class Solution { +public: + vector findPeaks(vector& mountain) { + vectorrlt; + const int len = mountain.size(); + for(int i = 1 ; i < mountain.size() - 1; i++){ + if(mountain[i] > mountain[i-1] && mountain[i] > mountain[i+1]) + rlt.push_back(i); + } + + return rlt; + } +}; +int main(){ + Solution sol; + + vector ex1 = {2,4,4}; + vectorrlt1 = sol.findPeaks(ex1); + for(int i = 0 ; i ex2 = {1,4,3,8,5}; + vectorrlt2 = sol.findPeaks(ex2); + for(int i = 0 ; i +using namespace std; +class Solution { +public: + int minimumAddedCoins(vector& coins, int target) { + const int len = coins.size(); + sort(coins.begin(), coins.end()); + int express = 0; + int idx = 0; + int ans = 0; + while(express < target){ + if(idx < len && express+1 >= coins[idx]){ + express += coins[idx++]; + }else{ + ans++; + express += express + 1; + } + } + cout< ex1 = {1,4,10}; + int target1 = 19; + sol.minimumAddedCoins(ex1,target1); + + vector ex2 = {1,4,10,5,7,19}; + int target2 = 19; + sol.minimumAddedCoins(ex2,target2); + + vector ex3 = {1,1,1}; + int target3 = 20; + sol.minimumAddedCoins(ex3,target3); + + vector ex4 = {1}; + int target4 = 100000; + sol.minimumAddedCoins(ex4,target4); + return 0; +} \ No newline at end of file