Submission #321181

#TimeUsernameProblemLanguageResultExecution timeMemory
321181phathnvTriangles (CEOI18_tri)C++11
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "trilib.c" #define mp make_pair #define X first #define Y second #define taskname "Triangle" using namespace std; typedef long long ll; typedef pair <int, int> point; const int N = 40001; int _n, ind[N]; int main(){ _n = get_n(); int tmp = 2; for(int i = 3; i <= n; i++) if (is_clockwise(1, tmp, i)) tmp = i; bool flag = 0; for(int i = 2; i <= n; i++){ if (tmp == i) continue; if (is_clockwise(1, tmp, i)){ flag = 1; break; } } if (flag == 0){ /// 1 in convex hull for(int i = 1; i <= _n; i++) ind[i] = i; sort(ind + 2, ind + 1 + _n, [](const int &a, const int &b){ return (!is_clockwise(1, a, b)); }); vector <int> st; st.push_back(1); for(int i = 2; i <= n; i++){ while (st.size() >= 2){ if (is_clockwise(st[st.size() - 2], st[st.size() - 1], ind[i])) st.pop_back(); else break; } st.push_back(ind[i]); } cout << st.size(); } else { for(int i = 1; i <= _n; i++) ind[i] = i; sort(ind + 3, ind + 1 + _n, [](const int &a, const int &b){ bool tA = is_clockwise(1, 2, a); bool tB = is_clockwise(1, 2, b); if (tA != tB) return tB; return (!is_clockwise(1, a, b)); }); vector <int> st; st.push_back(2); for(int i = 3; i <= n; i++){ while (st.size() >= 2){ if (is_clockwise(st[st.size() - 2], st[st.size() - 1], ind[i])) st.pop_back(); else break; } st.push_back(ind[i]); } int l = 0, r = st.size() - 1; while (r - l + 1 > 3){ if (is_clockwise(st[r], st[l], st[l + 1])){ l++; continue; } if (is_clockwise(st[r - 1], st[r], st[l])){ r--; continue; } break; } cout << r - l + 1; } return 0; } /* 6 2 2 4 3 1 1 1 4 5 1 3 2 */

Compilation message (stderr)

/tmp/ccnj9KCR.o: In function `get_n':
tri.cpp:(.text+0x110): multiple definition of `get_n'
/tmp/ccGnDk1V.o:trilib.c:(.text+0x110): first defined here
/tmp/ccnj9KCR.o: In function `is_clockwise':
tri.cpp:(.text+0x130): multiple definition of `is_clockwise'
/tmp/ccGnDk1V.o:trilib.c:(.text+0x130): first defined here
/tmp/ccnj9KCR.o: In function `give_answer':
tri.cpp:(.text+0xee0): multiple definition of `give_answer'
/tmp/ccGnDk1V.o:trilib.c:(.text+0x290): first defined here
collect2: error: ld returned 1 exit status