이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define all(a) (a).begin(), (a).end()
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef long double ld;
void debug_out()
{
cerr << endl;
}
template<typename T1, typename... T2> void debug_out(T1 A, T2... B)
{
cerr << ' ' << A;
debug_out(B...);
}
#ifdef DEBUG
#define time(...) 42
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 42
#endif
template<typename T1, typename T2> bool chkmin(T1 &x, T2 y) { return y < x ? (x = y, true) : false; }
template<typename T1, typename T2> bool chkmax(T1 &x, T2 y) { return y > x ? (x = y, true) : false; }
signed main()
{
#ifdef DEBUG
freopen("in", "r", stdin);
#endif
ios::sync_with_stdio(0);
cin.tie(0);
int n, q;
cin >> n >> q;
if (n <= 100 && q <= 100)
{
char t[q + 1][n];
memset(t, 0, sizeof(t));
string s;
cin >> s;
for (int i = 0; i < n; ++i) t[0][i] = s[i] - '0';
for (int i = 1; i <= q; ++i)
{
memcpy(t[i], t[i - 1], sizeof(t[i]));
string cmd;
cin >> cmd;
if (cmd == "toggle")
{
int j;
cin >> j;
--j;
t[i][j] ^= 1;
}
else
{
int l, r;
cin >> l >> r;
r -= 2;
l--;
int ans = 0;
for (int u = 0; u < i; ++u)
{
bool ok = true;
for (int j = l; j <= r; ++j)
{
ok &= t[u][j];
}
if (ok) ++ans;
}
cout << ans << '\n';
}
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |