제출 #169646

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
1696462019-12-21 19:03:10mhy908Bulldozer (JOI17_bulldozer)C++14
컴파일 에러
0 ms0 KiB
#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]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~