# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
151721 | 2019-09-04T11:12:24 Z | leduykhongngu | 십자가 놓기 (FXCUP4_cross) | C++17 | 2 ms | 256 KB |
#include <vector> #include <set> #include <algorithm> #include <assert.h> long long SelectCross(int K, std::vector<int> I, std::vector<int> O) { //i<o int n = I.size(); std::vector< std::pair<int, int > > rectangles; for (int i = 0; i < n; ++i) { rectangles.push_back({O[i], I[i]}); } sort(rectangles.begin(), rectangles.end()); //reverse(rectangles.begin(), rectangles.end()); std::multiset< int > myset; for (auto rec : rectangles) { myset.insert(rec.second); } int cnt = 0; long long res = 0; int last = 0; for (auto rec : rectangles) { //delete rec myset.erase(myset.find(rec.second)); if (myset.size() < K) break; int Long = rec.first, Short = (K == 1? rec.second : *myset.begin()); assert(Long >= Short); res = std::max(res, 1ll * Long * Long - 1ll * (Long - Short) * (Long - Short)); } return res; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 256 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 256 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 256 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |