# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
169646 | 2019-12-21 19:03:10 | mhy908 | Bulldozer (JOI17_bulldozer) | C++14 | 컴파일 에러 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define mp make_pair
using namespace std;
typedef long long LL;
typedef pair<int, int> pii;
typedef pair<LL, LL> pll;
const LL llinf=98765431298754321;
LL gcd(LL a, LL b){return b?gcd(b, a%b):a;}
struct Q{
int buho;
LL p, q; //p/q
bool operator<(const Q &b){
if(buho!=b.buho)return buho<b.buho;
if(buho>0)return p*b.q<b.p*q;
return p*b.q>b.p*q;
}
bool operator==(const Q &b){
return buho==b.buho&&p==b.p&&q==b.q;
}
};
int n;
pair<pll, int> point[2010];
vector<pair<Q, pii> > vc;
LL arr[2010];
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
컴파일 시 표준 에러 (stderr) 메시지
bulldozer.cpp: In member function 'void SEGMENT_TREE::maketree(int, int)': bulldozer.cpp:63:19: error: invalid types 'SEGMENT_TREE::NODE [8000][std::pair<std::pair<long long int, long long int>, int> [2010]]' for array subscript tree[point].lmax=max(tree[point*2].lmax, tree[point*2].sum+tree[point*2+1].lmax); ^ bulldozer.cpp:63:40: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].lmax=max(tree[point*2].lmax, tree[point*2].sum+tree[point*2+1].lmax); ~~~~~^~ bulldozer.cpp:63:60: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].lmax=max(tree[point*2].lmax, tree[point*2].sum+tree[point*2+1].lmax); ~~~~~^~ bulldozer.cpp:63:78: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].lmax=max(tree[point*2].lmax, tree[point*2].sum+tree[point*2+1].lmax); ~~~~~^~ bulldozer.cpp:64:19: error: invalid types 'SEGMENT_TREE::NODE [8000][std::pair<std::pair<long long int, long long int>, int> [2010]]' for array subscript tree[point].rmax=max(tree[point*2+1].rmax, tree[point*2+1].sum+tree[point*2].rmax); ^ bulldozer.cpp:64:40: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].rmax=max(tree[point*2+1].rmax, tree[point*2+1].sum+tree[point*2].rmax); ~~~~~^~ bulldozer.cpp:64:62: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].rmax=max(tree[point*2+1].rmax, tree[point*2+1].sum+tree[point*2].rmax); ~~~~~^~ bulldozer.cpp:64:82: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].rmax=max(tree[point*2+1].rmax, tree[point*2+1].sum+tree[point*2].rmax); ~~~~~^~ bulldozer.cpp:65:19: error: invalid types 'SEGMENT_TREE::NODE [8000][std::pair<std::pair<long long int, long long int>, int> [2010]]' for array subscript tree[point].sum=tree[point*2].sum+tree[point*2+1].sum; ^ bulldozer.cpp:65:35: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].sum=tree[point*2].sum+tree[point*2+1].sum; ~~~~~^~ bulldozer.cpp:65:53: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].sum=tree[point*2].sum+tree[point*2+1].sum; ~~~~~^~ bulldozer.cpp:66:19: error: invalid types 'SEGMENT_TREE::NODE [8000][std::pair<std::pair<long long int, long long int>, int> [2010]]' for array subscript tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ^ bulldozer.cpp:66:44: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ~~~~~^~ bulldozer.cpp:66:64: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ~~~~~^~ bulldozer.cpp:66:91: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ~~~~~^~ bulldozer.cpp:66:110: error: invalid operands of types 'std::pair<std::pair<long long int, long long int>, int> [2010]' and 'int' to binary 'operator*' tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ~~~~~^~ bulldozer.cpp:66:136: error: invalid types 'SEGMENT_TREE::NODE [8000][std::pair<std::pair<long long int, long long int>, int> [2010]]' for array subscript tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ^ bulldozer.cpp:66:154: error: invalid types 'SEGMENT_TREE::NODE [8000][std::pair<std::pair<long long int, long long int>, int> [2010]]' for array subscript tree[point].tmax=max(max(tree[point*2].tmax, tree[point*2+1].tmax), max(tree[point*2].rmax+tree[point*2+1].lmax, max(tree[point].lmax, tree[point].rmax))); ^ bulldozer.cpp: In function 'int main()': bulldozer.cpp:122:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(pv<vc.size()){ ~~^~~~~~~~~~ bulldozer.cpp:125:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(; pv<vc.size(); pv++){ ~~^~~~~~~~~~ bulldozer.cpp:134:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(pv==vc.size()-1){ ~~^~~~~~~~~~~~~ bulldozer.cpp:144:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<tem.size(); j++){ ~^~~~~~~~~~~ bulldozer.cpp:89:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ~~~~~^~~~~~~~~~ bulldozer.cpp:91:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld %lld %lld", &point[i].F.F, &point[i].F.S, &arr[i]); ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~