Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
98726 CSYZLinZR Karry5307 C++ 运行出错 0 10 MS 1052 KB 1379 2023-08-16 13:06:34

Tests(0/5):


#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int SIZE = 1e5+5; int n, m; int a[SIZE]; int op[SIZE], l[SIZE], r[SIZE], k[SIZE]; int tmp[SIZE << 1], cnt, ed; namespace o1 { int f[SIZE], tp; int main() { for (int o = 1; o <= m; ++o) { if (op[o] == 1) { for (int i = l[o]; i <= r[o]; ++i) { a[i] = k[o]; } } else { tp = 0; memset(f, 0, sizeof(f)); for (int i = l[o]; i <= r[o]; ++i) { ++f[a[i]]; if (f[a[i]] == 1) ++tp; } printf("%d\n",tp); } } return 0; } } int main() { #ifdef fio freopen("test.in","r",stdin); #endif cin >> n >> m; for (int i = 1; i <= n; ++i) { scanf("%d",a+i); tmp[++cnt] = a[i]; } bool fg1 = true; for (int i = 1; i <= m; ++i) { scanf("%d",op+i); if (op[i] == 1) { fg1 = false; scanf("%d%d%d",l+i,r+i,k+i); tmp[++cnt] = k[i]; } else { scanf("%d%d%d",l+i,r+i); } } sort(tmp + 1, tmp + 1 + cnt); ed = unique(tmp + 1, tmp + 1 + cnt) - tmp - 1; for (int i = 1; i <= n; ++i) { a[i] = lower_bound(tmp + 1, tmp + 1 + ed, a[i]) - tmp; } for (int i = 1; i <= m; ++i) { if (op[i] == 1) k[i] = lower_bound(tmp + 1, tmp + 1 + ed, k[i]) - tmp; } if (n <= 5000 && m <= 5000) { return o1::main(); } else { puts("!"); } return 0; }


测评信息: