Submission #1187961

#TimeUsernameProblemLanguageResultExecution timeMemory
1187961alwaus424Art Exhibition (JOI18_art)C++20
10 / 100
9 ms328 KiB
#include <iostream> #include <vector> #include <algorithm> #include <climits> using namespace std; struct Artwork { long long size; long long value; }; int main() { int n; cin >> n; vector<Artwork> artworks(n); for (int i = 0; i < n; ++i) { cin >> artworks[i].size >> artworks[i].value; } long long max_s_diff = LLONG_MIN; for (int i = 0; i < (1 << n); ++i) { vector<Artwork> chosen_artworks; long long current_s = 0; long long current_min_size = LLONG_MAX; long long current_max_size = LLONG_MIN; for (int j = 0; j < n; ++j) { if ((i >> j) & 1) { chosen_artworks.push_back(artworks[j]); current_s += artworks[j].value; current_min_size = min(current_min_size, artworks[j].size); current_max_size = max(current_max_size, artworks[j].size); } } if (chosen_artworks.size() > 0) { max_s_diff = max(max_s_diff, current_s - (current_max_size - current_min_size)); } } cout << max_s_diff << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...