Submission #349865

#TimeUsernameProblemLanguageResultExecution timeMemory
349865beksultan04Game (IOI13_game)C++14
Compilation error
0 ms0 KiB
#include "game.h" #include <bits/stdc++.h> #ifndef EVAL #include "grader.cpp" #endif using namespace std; #define lol long long #define pii pair<int,int> #define OK puts("OK"); #define NO puts("NO"); #define YES puts("YES"); #define fr first #define sc second #define ret return #define scanl(a) scanf("%lld",&a); #define scanll(a,b) scanf("%lld %lld",&a, &b); #define scanlll(a,b,c) scanf("%lld %lld %lld",&a,&b,&c); #define scan1(a) scanf("%d",&a); #define scan2(a,b) scanf("%d %d",&a, &b); #define scan3(a,b,c) scanf("%d %d %d",&a,&b,&c); #define all(s) s.begin(),s.end() #define allr(s) s.rbegin(),s.rend() #define pb push_back #define sz(v) (int)v.size() #define endi puts(""); #define eps 1e-12 vector <vector <lol> > der; int n,m; void init(int R, int C) { n = R-1; m = C-1; R+=R; C+=C; der.resize(R+R, vector <int> (C+C)); } void update_y(int vx,int lx,int rx,int vy,int ly,int ry,int x,int y,lol k){ if (ly == ry){ if (lx == rx){ der[vx][vy] = k; } else der[vx][vy] = __gcd(der[vx<<1][vy],der[(vx<<1)+1][vy]); } else { int m = ly+ry>>1; if (m < y) update_y(vx,lx,rx,(vy<<1)+1,m+1,ry,x,y,k); else update_y(vx,lx,rx,vy<<1,ly,m,x,y,k); der[vx][vy] = __gcd(der[vx][vy<<1],der[vx][(vy<<1)+1]); } } void update_x(int vx,int lx,int rx,int x,int y,lol k){ if (lx != rx){ int m = lx+rx>>1; if (x > m){ update_x((vx<<1)+1,m+1,rx,x,y,k); } else { update_x((vx<<1),lx,m,x,y,k); } } update_y(vx,lx,rx,1,0,m,x,y,k); } lol gcd_y(int vx,int lx,int rx,int vy,int ly,int ry,int x1,int y1,int x2,int y2){ if (y1 > ry || y2 < ly)ret 0; if (y1 <= ly && ry <= y2)ret der[vx][vy]; int m = ly+ry>>1; ret __gcd(gcd_y(vx,lx,rx,vy<<1,ly,m,x1,y1,x2,y2),gcd_y(vx,lx,rx,(vy<<1)+1,m+1,ry,x1,y1,x2,y2)); } lol gcd_x(int vx,int lx,int rx,int x1,int y1,int x2,int y2){ if (x1 > rx || x2 < lx)ret 0; if (x1 <= lx && rx <= x2){ ret gcd_y(vx,lx,rx,1,0,m,x1,y1,x2,y2); } else { int m = lx+rx>>1; ret __gcd(gcd_x(vx<<1,lx,m,x1,y1,x2,y2),gcd_x((vx<<1)+1,m+1,rx,x1,y1,x2,y2)); } } void update(int P, int Q, lol K) { update_x(1,0,n,P,Q,K); } lol calculate(int P, int Q, int U, int V) { ret gcd_x(1,0,n,P,Q,U,V); }

Compilation message (stderr)

game.cpp: In function 'void init(int, int)':
game.cpp:36:39: error: no matching function for call to 'std::vector<std::vector<long long int> >::resize(int, std::vector<int>)'
   36 |     der.resize(R+R, vector <int> (C+C));
      |                                       ^
In file included from /usr/include/c++/9/vector:67,
                 from /usr/include/c++/9/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:86,
                 from game.cpp:2:
/usr/include/c++/9/bits/stl_vector.h:934:7: note: candidate: 'void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
  934 |       resize(size_type __new_size)
      |       ^~~~~~
/usr/include/c++/9/bits/stl_vector.h:934:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/9/bits/stl_vector.h:954:7: note: candidate: 'void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = std::vector<long long int>]'
  954 |       resize(size_type __new_size, const value_type& __x)
      |       ^~~~~~
/usr/include/c++/9/bits/stl_vector.h:954:54: note:   no known conversion for argument 2 from 'std::vector<int>' to 'const value_type&' {aka 'const std::vector<long long int>&'}
  954 |       resize(size_type __new_size, const value_type& __x)
      |                                    ~~~~~~~~~~~~~~~~~~^~~
game.cpp: In function 'void update_y(int, int, int, int, int, int, int, int, long long int)':
game.cpp:49:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   49 |         int m = ly+ry>>1;
      |                 ~~^~~
game.cpp: In function 'void update_x(int, int, int, int, int, long long int)':
game.cpp:60:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   60 |         int m = lx+rx>>1;
      |                 ~~^~~
game.cpp: In function 'long long int gcd_y(int, int, int, int, int, int, int, int, int, int)':
game.cpp:74:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   74 |     int m = ly+ry>>1;
      |             ~~^~~
game.cpp: In function 'long long int gcd_x(int, int, int, int, int, int, int)':
game.cpp:84:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   84 |         int m = lx+rx>>1;
      |                 ~~^~~