이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "seats.h"
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ll x[2][1010101],n,i,j;
void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C)
{
for(i=0;i<H*W;i++)
{
x[0][i]=R[i];
x[1][i]=C[i];
}
n=H*W;
}
ll quemi(ll ff,ll aa,ll bb)
{
ll ii,H=1e18;
for(ii=aa;ii<=bb;ii++)
H=min(H,x[ff][ii]);
return H;
}
ll quema(ll ff,ll aa,ll bb)
{
ll ii,H=-1e18;
for(ii=aa;ii<=bb;ii++)
H=max(H,x[ff][ii]);
return H;
}
int swap_seats(int a, int b)
{
swap(x[1][a],x[1][b]);
swap(x[0][a],x[0][b]);
ll hz=0;
//cout<<"A";
//return 0;
for(i=0;i<n;i++)
{
ll mx=quemi(0,0,i);
ll my=quemi(1,0,i);
ll Mx=quema(0,0,i);
ll My=quema(1,0,i);
ll tem=(Mx-mx+1)*(My-my+1);
// cout<<i<<" "<<mx<<" "<<my<<" "<<Mx<<" "<<My<<"_ _ _"<<tem<<"\n";
if(i+1==tem)
{
// cout<<i<<"_\n";
hz++;
}
i=max(i,tem-2);
}
return hz;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |