QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#406000 | #6515. Path Planning | xiaole | WA | 56ms | 3544kb | C++23 | 1.4kb | 2024-05-06 18:32:12 | 2024-05-06 18:32:14 |
Judging History
answer
#include<bits/stdc++.h>
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;using ll = long long;using PLL = pair<ll,ll>;
const ll MAX = 1e18;const ll MIN = -1e18;const ll INF=0x3f3f3f3f;
const ll Q = 2e5+9;const ll MOD = 1e9 + 7;
// vector<vector<ll>> a;
bool cmp(PLL a,PLL b){
if(a.first==b.first) return a.second<b.second;
return a.first<b.first;
}
map<ll,pair<ll,ll>> mp;
bool check(ll x){
vector<PLL> v;
for (ll i = 0; i <= x; i++)
{
v.push_back({mp[i].first,mp[i].second});
}
sort(v.begin(),v.end(),cmp);
ll now=v[0].second;
for (ll i = 1; i < x; i++)
{
if(v[i].second<now) return false;
now=v[i].second;
}
return true;
}
void solve(){
mp.clear();
ll n,m;cin>>n>>m;
// a.resize(n+10);
// for (ll i = 0; i <= n; i++)
// {
// a[i].resize(m+10);
// }
ll a[n+10][m+10];
for (ll i = 1; i <= n; i++)
{
for (ll j = 1; j <= m; j++)
{
cin>>a[i][j];
mp[a[i][j]]={i,j};
}
}
ll l=0,r=(n*m)-1;ll ans=0;
while(l<=r){
ll mid=(l+r)>>1;
if(check(mid)){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
cout<<ans+1<<"\n";
}
int main(){
ios;ll _=1;cin>>_;
while (_--)solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3532kb
input:
2 2 3 1 2 4 3 0 5 1 5 1 3 0 4 2
output:
3 5
result:
ok 2 number(s): "3 5"
Test #2:
score: -100
Wrong Answer
time: 56ms
memory: 3544kb
input:
10000 2 9 4 0 3 5 2 7 16 11 12 9 13 14 17 10 8 15 1 6 4 8 19 23 22 13 29 4 17 26 30 6 25 3 15 24 18 14 12 8 7 9 27 5 0 10 11 16 31 20 2 28 1 21 1 6 3 2 0 1 4 5 2 3 4 2 0 3 5 1 5 1 4 0 3 2 1 1 3 1 0 2 8 10 9 50 8 0 41 57 60 30 23 65 64 21 36 12 10 5 58 19 38 67 71 52 45 17 77 4 59 51 22 25 56 49 79 2...
output:
9 2 6 3 5 3 14 13 6 9 5 7 6 9 8 4 6 7 13 9 10 9 6 3 5 7 4 2 10 4 18 6 12 3 7 6 9 5 1 5 6 10 8 4 2 5 3 5 7 13 6 10 2 10 3 6 9 8 3 10 3 3 3 8 8 4 7 7 7 9 8 6 6 5 3 7 7 13 4 5 6 5 4 3 10 6 12 7 2 11 6 7 5 10 9 5 3 10 2 5 3 8 7 10 5 5 10 4 6 5 9 4 10 6 3 5 4 4 7 4 8 3 12 5 4 5 8 6 8 3 7 9 3 6 12 4 6 6 6...
result:
wrong answer 9th numbers differ - expected: '5', found: '6'