tt.cpp: In function 'std::vector<std::complex<double> > mul(std::vector<std::complex<double> >, std::vector<std::complex<double> >)':
tt.cpp:30:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::complex<double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
30 | int n = 1; while (n < a.size()+1 || n < b.size()+1) n *= 2; n *= 2;
| ~~^~~~~~~~~~~~
tt.cpp:30:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::complex<double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
30 | int n = 1; while (n < a.size()+1 || n < b.size()+1) n *= 2; n *= 2;
| ~~^~~~~~~~~~~~
tt.cpp: In function 'int main()':
tt.cpp:51:23: warning: narrowing conversion of 'k' from 'int' to 'double' [-Wnarrowing]
51 | aa.push_back({k, 0});
| ^
tt.cpp:55:23: warning: narrowing conversion of 'k' from 'int' to 'double' [-Wnarrowing]
55 | bb.push_back({k, 0});
| ^
tt.cpp:48:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
48 | scanf("%d %d", &N, &M);
| ~~~~~^~~~~~~~~~~~~~~~~
tt.cpp:50:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
50 | scanf("%d", &k);
| ~~~~~^~~~~~~~~~
tt.cpp:54:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
54 | scanf("%d", &k);
| ~~~~~^~~~~~~~~~