Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- #include <bitset>
- #include <iostream>
- #include <stack>
- #include <queue>
- #include <set>
- #include <map>
- #include <string>
- #include <algorithm>
- using namespace std;
- int main() {
- freopen("key.in", "r", stdin);
- freopen("key.out", "w", stdout);
- int n, m;
- scanf("%d %d", &n, &m);
- vector<int> a(n);
- for(int i = 0; i < n; ++i) {
- scanf("%d", &(a[i]));
- }
- std::sort(a.begin(), a.end());
- int p = 0;
- vector<long long int> added;
- long long int sum = 0;
- while(added.size() < m) {
- if (p < n && a[p] <= sum + 1) {
- sum += a[p];
- ++p;
- continue;
- }
- added.push_back(sum + 1);
- sum += sum + 1;
- }
- for(int i = 0; i < added.size(); ++i) {
- printf("%lld ", added[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement