Submission #53715167
Source Code Expand
// LUOGU_RID: 159735622
#include<bits/stdc++.h>
#define Gc() getchar()
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define fi first
#define se second
#define eb emplace_back
#define all(x) x.begin(),x.end()
using namespace std;using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned long long;using pii=pair<int,int>;
const int N=4e5+5,M=(1<<15)+5,K=1000+5,mod=1e9+7,Mod=mod-1;const db eps=1e-8;const int INF=1e9+7;mt19937 rnd(263082);
#define Tp template<typename T>
#define Ts template<typename T,typename... Ar>
namespace Debug{
Tp void _debug(char* f,T t){cerr<<f<<'='<<t<<endl;}
Ts void _debug(char* f,T x,Ar... y){while(*f!=',') cerr<<*f++;cerr<<'='<<x<<",";_debug(f+1,y...);}
#ifdef LOCAL
#define gdb(...) _debug((char*)#__VA_ARGS__,__VA_ARGS__)
#else
#define gdb(...) void()
#endif
}using namespace Debug;
int n,m,A[N],f[N],g[N],cnt;
void add(int x){
f[x]++;
if(x-f[x]+1>0){
cnt-=!g[x-f[x]+1];
g[x-f[x]+1]++;
}
}
void del(int x){
if(x-f[x]+1>0){
g[x-f[x]+1]--;
cnt+=!g[x-f[x]+1];
}
f[x]--;
}
void Solve(){
int i,j;scanf("%d%d",&n,&m);
for(i=1;i<=n;i++) scanf("%d",A+i);
cnt=n;
for(i=1;i<=n;i++) add(A[i]);
while(m--){
int x,y;scanf("%d%d",&x,&y);
del(A[x]);
A[x]=y;
add(A[x]);
gdb(g[1],g[2]);
printf("%d\n",cnt);
}
}
int main(){
int t=1;
// scanf("%d",&t);
while(t--) Solve();
cerr<<clock()*1.0/CLOCKS_PER_SEC<<'\n';
}
Submission Info
| Submission Time |
|
| Task |
C - Snuke and Spells |
| User |
fangxintong |
| Language |
C++ 20 (gcc 12.2) |
| Score |
1000 |
| Code Size |
1564 Byte |
| Status |
AC |
| Exec Time |
72 ms |
| Memory |
6372 KiB |
Compile Error
Main.cpp: In function ‘void Solve()’:
Main.cpp:44:15: warning: unused variable ‘j’ [-Wunused-variable]
44 | int i,j;scanf("%d%d",&n,&m);
| ^
Main.cpp:44:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
44 | int i,j;scanf("%d%d",&n,&m);
| ~~~~~^~~~~~~~~~~~~~
Main.cpp:45:32: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
45 | for(i=1;i<=n;i++) scanf("%d",A+i);
| ~~~~~^~~~~~~~~~
Main.cpp:49:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
49 | int x,y;scanf("%d%d",&x,&y);
| ~~~~~^~~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
subtask |
All |
| Score / Max Score |
0 / 0 |
500 / 500 |
500 / 500 |
| Status |
|
|
|
| Set Name |
Test Cases |
| Sample |
sample1.txt, sample2.txt, sample3.txt |
| subtask |
sample1.txt, sample2.txt, sample3.txt, subtask_a1.txt, subtask_a2.txt, subtask_a3.txt, subtask_a4.txt, subtask_a5.txt, subtask_a6.txt, subtask_b1.txt, subtask_b2.txt, subtask_c1.txt, subtask_c2.txt, subtask_d1.txt, subtask_d2.txt, subtask_d3.txt, subtask_d4.txt, subtask_e1.txt, subtask_e2.txt, subtask_e3.txt, subtask_e4.txt, subtask_f1.txt, subtask_f2.txt |
| All |
sample1.txt, sample2.txt, sample3.txt, a1.txt, a2.txt, a3.txt, a4.txt, a5.txt, a6.txt, b1.txt, b2.txt, c1.txt, c2.txt, d1.txt, d2.txt, d3.txt, d4.txt, e1.txt, e2.txt, e3.txt, e4.txt, f1.txt, f2.txt, sample1.txt, sample2.txt, sample3.txt, subtask_a1.txt, subtask_a2.txt, subtask_a3.txt, subtask_a4.txt, subtask_a5.txt, subtask_a6.txt, subtask_b1.txt, subtask_b2.txt, subtask_c1.txt, subtask_c2.txt, subtask_d1.txt, subtask_d2.txt, subtask_d3.txt, subtask_d4.txt, subtask_e1.txt, subtask_e2.txt, subtask_e3.txt, subtask_e4.txt, subtask_f1.txt, subtask_f2.txt |
| Case Name |
Status |
Exec Time |
Memory |
| a1.txt |
AC |
71 ms |
6168 KiB |
| a2.txt |
AC |
70 ms |
6372 KiB |
| a3.txt |
AC |
71 ms |
6316 KiB |
| a4.txt |
AC |
71 ms |
6248 KiB |
| a5.txt |
AC |
69 ms |
6116 KiB |
| a6.txt |
AC |
71 ms |
6236 KiB |
| b1.txt |
AC |
71 ms |
6096 KiB |
| b2.txt |
AC |
72 ms |
6316 KiB |
| c1.txt |
AC |
71 ms |
6052 KiB |
| c2.txt |
AC |
72 ms |
6312 KiB |
| d1.txt |
AC |
72 ms |
6108 KiB |
| d2.txt |
AC |
71 ms |
6168 KiB |
| d3.txt |
AC |
72 ms |
6244 KiB |
| d4.txt |
AC |
72 ms |
6320 KiB |
| e1.txt |
AC |
72 ms |
6092 KiB |
| e2.txt |
AC |
71 ms |
6192 KiB |
| e3.txt |
AC |
71 ms |
6248 KiB |
| e4.txt |
AC |
71 ms |
6312 KiB |
| f1.txt |
AC |
51 ms |
5444 KiB |
| f2.txt |
AC |
50 ms |
5504 KiB |
| sample1.txt |
AC |
1 ms |
3904 KiB |
| sample2.txt |
AC |
1 ms |
3824 KiB |
| sample3.txt |
AC |
1 ms |
3972 KiB |
| subtask_a1.txt |
AC |
1 ms |
3820 KiB |
| subtask_a2.txt |
AC |
2 ms |
4032 KiB |
| subtask_a3.txt |
AC |
1 ms |
3968 KiB |
| subtask_a4.txt |
AC |
1 ms |
3988 KiB |
| subtask_a5.txt |
AC |
1 ms |
3912 KiB |
| subtask_a6.txt |
AC |
1 ms |
3908 KiB |
| subtask_b1.txt |
AC |
1 ms |
3888 KiB |
| subtask_b2.txt |
AC |
1 ms |
3820 KiB |
| subtask_c1.txt |
AC |
1 ms |
3968 KiB |
| subtask_c2.txt |
AC |
1 ms |
3976 KiB |
| subtask_d1.txt |
AC |
1 ms |
3904 KiB |
| subtask_d2.txt |
AC |
1 ms |
3972 KiB |
| subtask_d3.txt |
AC |
1 ms |
3908 KiB |
| subtask_d4.txt |
AC |
1 ms |
3976 KiB |
| subtask_e1.txt |
AC |
1 ms |
3980 KiB |
| subtask_e2.txt |
AC |
1 ms |
3904 KiB |
| subtask_e3.txt |
AC |
1 ms |
3844 KiB |
| subtask_e4.txt |
AC |
1 ms |
3888 KiB |
| subtask_f1.txt |
AC |
1 ms |
3892 KiB |
| subtask_f2.txt |
AC |
1 ms |
3972 KiB |