squares.cpp: In function 'std::vector<int> paint(int)':
squares.cpp:28:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   28 |   while(S.size()>n) S.pop_back();
      |         ~~~~~~~~^~
squares.cpp: In function 'int find_location(int, std::vector<int>)':
squares.cpp:5:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define rep(a, b) for(int a = 0; a < (b); ++a)
      |                                    ^
squares.cpp:33:3: note: in expansion of macro 'rep'
   33 |   rep(i, T.size()) if(T[i]==-1) return n-i;
      |   ^~~
squares.cpp:5:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define rep(a, b) for(int a = 0; a < (b); ++a)
      |                                    ^
squares.cpp:35:3: note: in expansion of macro 'rep'
   35 |   rep(i, S.size()) {
      |   ^~~
squares.cpp:5:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define rep(a, b) for(int a = 0; a < (b); ++a)
      |                                    ^
squares.cpp:37:5: note: in expansion of macro 'rep'
   37 |     rep(j, T.size()) if(S[i+j]!=T[j]) {
      |     ^~~