Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
RGB7751 - Маркын бялууны алхалт |
Марк аяган булуунд дуртай ч туранхай байх хүсэлтэй. Аяган бялуу бүр илчлэгийн хэмжээтэй бөгөөд илчлэгийг шатаахын тулд Марк алхаж болно. Хэрвээ Марк j аяган бялуу идсэн байгаа бөгөөд C илчлэгтэй аяган бялуу идвэл жингээ барихын тулд хамгийн багадаа 2J * C бээр / мил / алхах шаардлагатай.
Жишээ нь. Хэрвээ тэрээр 3 аяган бялуу идсэн бөгөөд илчлэгийн хэмжээ нь уг дараалалтай [5,10,7] байсан бол түүний алхах хэрэгтэй бээрийн хэмжээ нь (20*5) + (21 * 10) + (22 * 7) = 53. Гэхдээ энэ нь алхах шаардлагатай хамгийн бага зай биш бөгөөд бид бялуу идэх дарааллаа харгалзан үзэх хэрэгтэй.
Хамгийн бага зай нь (20*10) + (21 * 7) + (22 * 5) = 44 байна.
Бялуу бүрийн илчлэгийн хэмжээ өгөгдсөн бол Марк жингээ барихын тулд хамгийн багадаа хэдэн бээр алхах хэрэгтэйг тооцоолно уу. Бялуунуудыг ямар ч дарааллаар идэж болно.
Функцын тайлбар
marcsCakewalk функцыг гүйцээ.
Буцаах утга long integer төрлийн хамгийн бага бээрийн хэмжээ.
Параметер calorie - Бялуунуудын илчлэгийг илэрхийлэх integer төрлийн array
Оролт
Эхний мөрөнд бялууны тоог илэрхийлэх бүхэл тоо n өгөгдөнө.
Хоёр дахь мөрөнд зайгаар тусгаарлагдсан бүхэл тоонууд өгөгдөнө.
Хязгаарлалт
1 <= n <= 40
1 <= c[i] <= 1000
Гаралт
Марк жингээ барихын тулд алхах шаардлагатай хамгийн бага зайг илэрхийлэх long integer тоо.
Жишээ оролт 0
3
1 3 2
Жишээ гаралт 0
11
Тайлбар 0
Түүний алхах зайн хэмжээг miles гэе, тэгвэл miles-г хамгийн бага байлгахын тулд 3 аяган бялууг доорхи дарааллаар идье:
- 3 илчлэгтэй булууг эхэлж идье
miles = 0 + (3*20) = 3
- 2 илчлэгтэй булууг дараа нь идье
miles = 3 + (2*21) = 7
- 1 илчлэгтэй булууг хамгийн сүүлд идье
miles = 7 + (1*22) = 11
Тэгээд miles-н утга буюу 11-г буцаана.
Жишээ оролт 1
4
7 4 9 6
Жишээ гаралт 1
79
Тайлбар 1
(20 * 9) + (21 * 7) + (22 * 6) + (23 * 4) = 9 + 14 + 24 + 32 = 79
Орчуулсан : Б.Даваабаяр АНУ
Нэмсэн: | Bataa |
Огноо: | 2020-03-22 |
Хугацааны хязгаарлалт: | 1s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | C NCSHARP C++ 4.3.2 CPP JULIA PYPY3 |
Эх сурвалж: | https://www.hackerrank.com/challenges/marcs-cakewalk/problem |
hide comments
|
||||||||||||||
2024-10-28 07:21:56
1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 2 2 2 2 0 0 0 0 0 1 1 0 0 0 0 0 2 2 2 2 0 0 0 0 0 1 1 0 0 0 0 0 2 2 2 2 0 0 0 0 0 1 1 0 0 0 0 0 2 2 2 2 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
||||||||||||||
2024-02-05 04:26:31
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; vector<int> calories(n); for(int calories_i = 0; calories_i < n; calories_i++){ cin >> calories[calories_i]; } // your code goes here sort(calories.begin(),calories.end()); reverse(calories.begin(),calories.end()); long long temp=1,ans=0; for(int i=0;i<n;i++) { ans+=calories[i]*temp; temp*=2; } printf("%lld\n",ans); return 0; } |
||||||||||||||
2023-11-28 07:49:14
#include <iostream> #include <vector> #include <algorithm> using namespace std; long long marcsCakewalk(vector<int>& calorie) { sort(calorie.rbegin(), calorie.rend()); // Эрэмбэлэх, хамгийн их илчлэгтэй бялууг өөрчилж өгөх long long miles = 0; int power = 0; for (int i : calorie) { miles += (1LL << power) * i; // 2-ийн зэрэгтэй тоог ашиглан олж болохийг харуулах power++; } return miles; } int main() { int n; // Бялууны тоо cin >> n; vector<int> calorie(n); for (int i = 0; i < n; i++) { cin >> calorie[i]; } long long result = marcsCakewalk(calorie); cout << result << endl; return 0; } enig unshad oilgo |
||||||||||||||
2023-08-24 04:25:58
taxi 69 |
||||||||||||||
2023-03-17 03:16:00
#include <iostream> using namespace std; int main() { int a[1000],i,n,z=0,s,b=0,t; cin>>n; for(i=1; i<=n; i++){ cin>>a[i]; z=z+a[i];} cin>>s>>t; if(s<t){ for(i=s; i<t; i++){ b=b+a[i];}} else { s=s-1; for(i=s; i>=t; i--){ b=b+a[i]; }} if(z-b<b) cout<<z-b; else cout<<b; return 0; } |
||||||||||||||
2022-09-29 03:10:30
zaila sd bi uhlee |
||||||||||||||
2022-09-29 03:10:30
zaila sd bi uhlee |
||||||||||||||
2022-09-29 03:10:29
zaila sd bi uhlee |
||||||||||||||
2022-09-29 03:10:29
zaila sd bi uhlee |
||||||||||||||
2022-09-29 03:10:29
zaila sd bi uhlee |