skyscraper.cpp: In function 'int main()':
skyscraper.cpp:16:36: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'll*' {aka 'long long int*'} [-Wformat=]
16 | for (int i=1;i<=n;i++) scanf("%d", a+i);
| ~^ ~~~
| | |
| int* ll* {aka long long int*}
| %lld
skyscraper.cpp:31:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
31 | add(dp[i][j][0][k], dp[i+1][j+1][0][k-val0] * (j+1) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:32:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
32 | add(dp[i][j][0][k], dp[i+1][j][0][k-val0] * (j*2) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:33:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
33 | add(dp[i][j][0][k], dp[i+1][j-1][0][k-val0] * (j-1) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:35:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
35 | add(dp[i][j][0][k], dp[i+1][j][1][k-val0] *2 %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:36:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
36 | add(dp[i][j][0][k], dp[i+1][j-1][1][k-val0] *2 %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:40:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
40 | add(dp[i][j][1][k], dp[i+1][j+1][1][k-val1] * (j+1) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:41:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
41 | add(dp[i][j][1][k], dp[i+1][j][1][k-val1] * (j*2+1) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:42:41: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
42 | if (j) add(dp[i][j][1][k], dp[i+1][j-1][1][k-val1] * j %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:44:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
44 | add(dp[i][j][1][k], dp[i+1][j][2][k-val1]);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:45:41: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
45 | if (j) add(dp[i][j][1][k], dp[i+1][j-1][2][k-val1]);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:49:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
49 | add(dp[i][j][2][k], dp[i+1][j+1][2][k-val2] * (j+1) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:50:34: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
50 | add(dp[i][j][2][k], dp[i+1][j][2][k-val2] * (j*2+2) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:51:41: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
51 | if (j) add(dp[i][j][2][k], dp[i+1][j-1][2][k-val2] * (j+1) %MOD);
| ~~~~~~~~~~~~~^
skyscraper.cpp:8:22: note: initializing argument 1 of 'void add(int&, int)'
8 | inline void add(int &x, int y){
| ~~~~~^
skyscraper.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
15 | scanf("%d %d", &n, &L);
| ~~~~~^~~~~~~~~~~~~~~~~
skyscraper.cpp:16:33: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
16 | for (int i=1;i<=n;i++) scanf("%d", a+i);
| ~~~~~^~~~~~~~~~~