제출 #418458

#제출 시각아이디문제언어결과실행 시간메모리
418458EncryptingWolf모임들 (IOI18_meetings)C++14
19 / 100
5594 ms5512 KiB
#include <vector> #include <iostream> #include <queue> #include <algorithm> typedef long long ll; #define FOR(i,x,y) for (ll i = x; i<y; i++) using namespace std; vector<long long> minimum_costs(vector<int> H, vector<int> L, vector<int> R) { vector<ll> ou; FOR(Z, 0, L.size()) { vector<pair<ll, ll>> monSL; vector<pair<ll, ll>> monSR; vector<ll> distL; vector<ll> distR; vector<ll> nH; FOR(i, L[Z], R[Z] + 1) { nH.push_back(H[i]); } distL.resize(nH.size()); distR.resize(nH.size()); FOR(i, 0,nH.size()) { while (true) { if (monSL.size() == 0) break; else { if (nH[i] < monSL[monSL.size() - 1].first) { break; } } monSL.pop_back(); } monSL.push_back({ nH[i],i }); if (monSL.size() == 1) { distL[i] = monSL[0].first*(i + 1); } else { distL[i] = monSL[monSL.size() - 1].first*(monSL[monSL.size() - 1].second - monSL[monSL.size() - 2].second) + distL[monSL[monSL.size() - 2].second]; } } reverse(nH.begin(),nH.end()); FOR(i, 0, nH.size()) { while (true) { if (monSR.size() == 0) break; else { if (nH[i] < monSR[monSR.size() - 1].first) { break; } } monSR.pop_back(); } monSR.push_back({ nH[i],i }); if (monSR.size() == 1) { distR[i] = monSR[0].first*(i + 1); } else { distR[i] = monSR[monSR.size() - 1].first*(monSR[monSR.size() - 1].second - monSR[monSR.size() - 2].second) + distR[monSR[monSR.size() - 2].second]; } } reverse(nH.begin(), nH.end()); reverse(distR.begin(), distR.end()); ll mi = 1e18; FOR(i, 0, nH.size()) mi = min(mi, distL[i] + distR[i]-nH[i]); ou.push_back(mi); } /*FOR(i, 0, ou.size()) { cout << ou[i] << ' '; }*/ return ou; }

컴파일 시 표준 에러 (stderr) 메시지

meetings.cpp: In function 'std::vector<long long int> minimum_costs(std::vector<int>, std::vector<int>, std::vector<int>)':
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   17 |  FOR(Z, 0, L.size())
      |      ~~~~~~~~~~~~~~                 
meetings.cpp:17:2: note: in expansion of macro 'FOR'
   17 |  FOR(Z, 0, L.size())
      |  ^~~
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   32 |   FOR(i, 0,nH.size())
      |       ~~~~~~~~~~~~~~                
meetings.cpp:32:3: note: in expansion of macro 'FOR'
   32 |   FOR(i, 0,nH.size())
      |   ^~~
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   58 |   FOR(i, 0, nH.size())
      |       ~~~~~~~~~~~~~~~               
meetings.cpp:58:3: note: in expansion of macro 'FOR'
   58 |   FOR(i, 0, nH.size())
      |   ^~~
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   86 |   FOR(i, 0, nH.size())
      |       ~~~~~~~~~~~~~~~               
meetings.cpp:86:3: note: in expansion of macro 'FOR'
   86 |   FOR(i, 0, nH.size())
      |   ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...