QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#607977 | #5113. Bridge | ice_cup | WA | 519ms | 25784kb | C++14 | 1.3kb | 2024-10-03 17:27:50 | 2024-10-03 17:27:50 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define MID int mid=(l+r)>>1;
#define ls p<<1
#define rs p<<1|1
#define endl '\n'
int n,m,q,cnt[100100],B=1000,l[110],r[110],c[110][100100],tot;
bool vis[110][100100];
struct node{
int op,a,b;
}Q[100100];
bool operator<(node a,node b){
return a.b>b.b;
}
set<node>s[110];
int main(){
ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
cin>>n>>m>>q;
for(int i=1;i<=q;i++){
cin>>Q[i].op>>Q[i].a;
if(Q[i].op==1)cin>>Q[i].b,cnt[Q[i].b]++;
}
for(int i=1;i<=m;i++){
tot++;
l[tot]=i;
int tmp=0;
int j;
for(j=i;tmp<=B&&j<=m;j++){
tmp+=cnt[j];
}
r[tot]=i=j-1;
}
for(int k=1;k<=tot;k++){
for(int i=1;i<=n;i++){
c[k][i]=i;
}
}
for(int i=1;i<=q;i++){
int op=Q[i].op,a=Q[i].a,b=Q[i].b;
if(op==1){
int k;
for(k=1;k<=tot;k++){
if(l[k]<=b&&b<=r[k])break;
}
if(!vis[k][a]&&!vis[k][a+1]){
s[k].insert(Q[i]);
swap(c[k][a],c[k][a+1]);
}
else{
s[k].insert(Q[i]);
for(node tmp:s[k]){
c[k][tmp.a]=tmp.a;
c[k][tmp.a+1]=tmp.a+1;
}
// cout<<endl<<endl;
for(node tmp:s[k]){
swap(c[k][tmp.a],c[k][tmp.a+1]);
}
}
vis[k][a]=vis[k][a+1]=1;
}
else{
for(int k=tot;k>=1;k--){
a=c[k][a];
}
cout<<a<<endl;
}
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3696kb
input:
3 4 13 2 2 1 1 3 2 1 2 2 2 3 1 2 4 2 1 2 2 2 3 1 2 1 2 1 2 2 2 3
output:
2 2 1 3 3 1 2 3 2 1
result:
ok 10 numbers
Test #2:
score: -100
Wrong Answer
time: 519ms
memory: 25784kb
input:
3 100000 99997 2 2 2 2 2 3 2 3 2 3 2 3 2 3 1 2 11047 1 1 98732 1 2 90045 1 1 43556 2 1 2 3 1 2 17242 1 1 17027 2 1 1 1 94195 2 1 2 2 2 1 2 3 1 1 34124 1 2 14354 1 2 673 1 2 39812 1 2 35520 1 2 16046 2 3 2 2 1 1 25410 2 3 2 1 2 3 2 2 1 2 55684 2 1 1 2 24811 1 2 92268 1 2 60268 2 2 1 1 89272 1 2 19232...
output:
2 2 3 3 3 3 3 2 1 3 1 3 1 2 3 1 2 3 2 1 3 2 2 1 3 2 3 1 2 1 2 2 1 1 2 1 3 2 1 3 2 1 1 3 3 2 1 1 3 1 1 2 3 2 1 1 2 3 2 1 3 2 3 2 3 2 2 2 2 3 2 2 3 3 2 3 3 2 2 2 3 2 3 2 2 2 2 2 3 2 3 1 1 2 1 1 3 1 3 2 3 2 3 2 2 2 2 3 3 2 2 3 3 2 3 3 1 2 3 2 2 2 3 1 3 3 2 3 3 2 1 1 1 1 3 3 2 2 1 2 2 2 3 2 3 2 2 3 2 3 ...
result:
wrong answer 8th numbers differ - expected: '3', found: '2'