Click
Here to go back to the homepage.
Planetaris Solution:
#include <bits/stdc++.h>
using namespace std;
std::vector<std::string> stringSplit(const std::string &s, char delimiter=' '){
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(s);
while (getline(tokenStream, token, delimiter)){
tokens.push_back(token);
}
return tokens;
}
int main() {
// #ifndef TESTING
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
string line;
getline(cin, line);
auto split = stringSplit(line);
int systems = stoi(split[0]), ships = stoi(split[1]);
getline(cin, line);
split = stringSplit(line);
vector<int> placements;
transform(split.begin(), split.end(), back_inserter(placements), [](const string &s){ return stoi(s);});
sort(placements.begin(), placements.end());
int ans = 0;
for(auto it = placements.begin(); it != placements.end(); it++, ans++){
if((ships -= *it + 1) < 0){
break;
}
}
cout << ans;
return 0;
}