제출 #246590

#제출 시각아이디문제언어결과실행 시간메모리
246590faremy철로 (IOI14_rail)C++14
컴파일 에러
0 ms0 KiB
#include "rail.h" #include <algorithm> #include <vector> const int MAXN = 5e3; int dist0[MAXN]; int distA[MAXN]; std::vector<int> left, right; void findLocation(int N, int first, int location[], int stype[]) { location[0] = first; stype[0] = 1; for (int iSta = 1; iSta < N; iSta++) dist0[iSta] = getDistance(0, iSta); int stationA = std::min_element(dist0 + 1, dist0 + N) - dist0; location[stationA] = location[0] + dist0[stationA]; stype[stationA] = 2; distA[0] = dist0[stationA]; for (int iSta = 1; iSta < N; iSta++) if (iSta != stationA) { distA[iSta] = getDistance(stationA, iSta); if (dist0[iSta] == dist0[stationA] + distA[iSta]) left.emplace_back(iSta); else right.emplace_back(iSta); } std::sort(right.begin(), right.end(), [](int a, int b) { return (dist0[a] < dist0[b]); }); int lastD = -1; for (int iSta = 0; iSta < (int)right.size(); iSta++) { int station = right[iSta]; location[station] = location[0] + dist0[station]; stype[station] = 2; std::cout << station << ' '; if (lastD != -1) { int distLast = getDistance(lastD, station); for (int jSta = 0; jSta < iSta; jSta++) { int stat2 = right[jSta]; if (stype[stat2] == 2 && distLast - (location[lastD] - location[stat2]) == dist0[station] - (location[stat2] - location[0])) { location[station] = location[stat2] - dist0[station] + (location[stat2] - location[0]); stype[station] = 1; break; } } } if (stype[station] == 2) lastD = station; } std::cout << '\n'; std::sort(left.begin(), left.end(), [](int a, int b) { return (distA[a] < distA[b]); }); int lastC = -1; for (int iSta = 0; iSta < (int)left.size(); iSta++) { int station = left[iSta]; location[station] = location[stationA] - distA[station]; stype[station] = 1; if (lastC != -1) { int distLast = getDistance(lastC, station); for (int jSta = 0; jSta < iSta; jSta++) { int stat2 = left[jSta]; if (stype[stat2] == 1 && distLast - (location[stat2] - location[lastC]) == distA[station] - (location[stationA] - location[stat2])) { location[station] = location[stat2] + distA[station] - (location[stationA] - location[stat2]); stype[station] = 2; break; } } } if (stype[station] == 1) lastC = station; } }

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

rail.cpp: In function 'void findLocation(int, int, int*, int*)':
rail.cpp:43:8: error: 'cout' is not a member of 'std'
   std::cout << station << ' ';
        ^~~~
rail.cpp:43:8: note: suggested alternative: 'count'
   std::cout << station << ' ';
        ^~~~
        count
rail.cpp:62:7: error: 'cout' is not a member of 'std'
  std::cout << '\n';
       ^~~~
rail.cpp:62:7: note: suggested alternative: 'count'
  std::cout << '\n';
       ^~~~
       count