QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#406000#6515. Path PlanningxiaoleWA 56ms3544kbC++231.4kb2024-05-06 18:32:122024-05-06 18:32:14

Judging History

你现在查看的是最新测评结果

  • [2024-05-06 18:32:14]
  • 评测
  • 测评结果:WA
  • 用时:56ms
  • 内存:3544kb
  • [2024-05-06 18:32:12]
  • 提交

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'