Submission #1112530

# Submission time Handle Problem Language Result Execution time Memory
1112530 2024-11-14T09:34:53 Z vjudge1 Bliskost (COI23_bliskost) C++17
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define a2b(a, b) (a << b) // a*2^b
#define bit(a, b) ((a >> b) & 1) // bth bit from the right, starts at zero
using namespace std;
template<class T> using vec = vector<T>;

const int INFTY = (1LL << 63) - 1;
const int NNFTY = 1LL << 63;

template<integral T, integral U> inline T nmod(T a, U b) {
    T r = a % b; if (r < 0) r += b; return r;
}

bool sim(string s1, string s2) {
    int n = s1.size();
    if (n != s2.size()) return false;
    int lastdiff = 0;
    for (int i = 0; i < n - 1; i++) {
        lastdiff = nmod(s1[i] - s2[i] - lastdiff, 26LL);
        if (i == n - 2 && lastdiff != nmod(s1[n - 1] - s2[n - 1], 26)) return false;
    }
    return true;
}

int32_t main() {
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n, q; cin >> n >> q;
    string s1, s2; cin >> s1 >> s2;
    cout << "ne\n\0da\n" + 4*sim(s1, s2);
    while (q--) {
        int i; char c; cin >> i >> c; i--;
        s1[i] = c;
        cout << "ne\n\0da\n" + 4*sim(s1, s2);
    }
}

Compilation message

Main.cpp:9:31: warning: integer overflow in expression of type 'long long int' results in '9223372036854775807' [-Woverflow]
    9 | const int INFTY = (1LL << 63) - 1;
      |                   ~~~~~~~~~~~~^~~
Main.cpp:12:10: error: 'integral' has not been declared
   12 | template<integral T, integral U> inline T nmod(T a, U b) {
      |          ^~~~~~~~
Main.cpp:12:22: error: 'integral' has not been declared
   12 | template<integral T, integral U> inline T nmod(T a, U b) {
      |                      ^~~~~~~~
Main.cpp:12:41: error: 'T' does not name a type
   12 | template<integral T, integral U> inline T nmod(T a, U b) {
      |                                         ^
Main.cpp: In function 'bool sim(std::string, std::string)':
Main.cpp:18:11: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |     if (n != s2.size()) return false;
      |         ~~^~~~~~~~~~~~
Main.cpp:21:20: error: 'nmod' was not declared in this scope; did you mean 'fmod'?
   21 |         lastdiff = nmod(s1[i] - s2[i] - lastdiff, 26LL);
      |                    ^~~~
      |                    fmod