Submission #73388411
Source Code Expand
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
#include <map>
#include <set>
#include <climits>
#include <limits.h>
#include <assert.h>
#include <numeric>
using namespace std;
using ll = long long;
const ll mod = 1e9 + 7;
ll gridN = 0;
#define cy cout << "Yes\n"
#define cn cout << "No\n"
#define na cout << "-1\n"
pair<ll, ll> getCoords(ll num)
{
ll r = (num - 1) / gridN + 1;
ll c = (num - 1) % gridN + 1;
return {r, c};
}
ll getNumber(ll r, ll c)
{
return (r - 1) * gridN + c;
}
void permutations(vector<vector<ll>> &res, vector<ll> arr, ll idx)
{
if (idx == arr.size())
{
res.push_back(arr);
return;
}
for (ll i = idx; i < arr.size(); i++)
{
swap(arr[idx], arr[i]);
permutations(res, arr, idx + 1);
swap(arr[idx], arr[i]);
}
}
// Function to get the permutations
vector<vector<ll>> permuteDist(vector<ll> &arr)
{
vector<vector<ll>> res;
permutations(res, arr, 0);
return res;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll n, m;
cin >> n >> m;
gridN = n;
ll start, end;
cin >> start >> end;
vector<ll> P(m);
for (ll i = 0; i < m; i++)
cin >> P[i];
vector<vector<ll>> allperms = permuteDist(P);
ll mini = LLONG_MAX;
for (auto &p : allperms)
{
ll s = start, t = end;
ll total = 0;
for (ll i = 0; i < m; i++)
{
pair<ll, ll> p1 = getCoords(s), p2 = getCoords(p[i]);
ll r1 = p1.first, c1 = p1.second;
ll r2 = p2.first, c2 = p2.second;
ll dist = abs(r2 - r1) + abs(c2 - c1);
// cout << r1 << " " << c1 << " " << r2 << " " << c2 << " " << dist << '\n';
s = p[i];
total += dist;
}
pair<ll, ll> p1 = getCoords(s), p2 = getCoords(t);
ll r1 = p1.first, c1 = p1.second;
ll r2 = p2.first, c2 = p2.second;
ll dist = abs(r2 - r1) + abs(c2 - c1);
// cout << r1 << " " << c1 << " " << r2 << " " << c2 << dist << '\n';
s = t;
total += dist;
mini = min(mini, total);
}
cout << mini;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Warehouse Robot Delivery |
| User | krish2004parikh |
| Language | C++23 (GCC 15.2.0) |
| Score | 0 |
| Code Size | 2311 Byte |
| Status | MLE |
| Exec Time | 953 ms |
| Memory | > 1048576 KiB |
Compile Error
./Main.cpp: In function 'void permutations(std::vector<std::vector<long long int> >&, std::vector<long long int>, ll)':
./Main.cpp:36:13: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
36 | if (idx == arr.size())
| ~~~~^~~~~~~~~~~~~
./Main.cpp:41:24: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
41 | for (ll i = idx; i < arr.size(); i++)
| ~~^~~~~~~~~~~~
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 433 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample01.txt, sample02.txt, sample03.txt |
| All | sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt, in72.txt, in73.txt, in74.txt, in75.txt, in76.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| in01.txt | AC | 1 ms | 3528 KiB |
| in02.txt | AC | 1 ms | 3640 KiB |
| in03.txt | MLE | 925 ms | > 1048576 KiB |
| in04.txt | AC | 4 ms | 3432 KiB |
| in05.txt | AC | 1 ms | 3524 KiB |
| in06.txt | AC | 644 ms | 428600 KiB |
| in07.txt | AC | 1 ms | 3572 KiB |
| in08.txt | MLE | 889 ms | > 1048576 KiB |
| in09.txt | AC | 7 ms | 7496 KiB |
| in10.txt | MLE | 953 ms | > 1048576 KiB |
| in11.txt | MLE | 923 ms | > 1048576 KiB |
| in12.txt | MLE | 925 ms | > 1048576 KiB |
| in13.txt | MLE | 942 ms | > 1048576 KiB |
| in14.txt | MLE | 891 ms | > 1048576 KiB |
| in15.txt | AC | 1 ms | 3472 KiB |
| in16.txt | MLE | 908 ms | > 1048576 KiB |
| in17.txt | MLE | 910 ms | > 1048576 KiB |
| in18.txt | MLE | 908 ms | > 1048576 KiB |
| in19.txt | MLE | 920 ms | > 1048576 KiB |
| in20.txt | MLE | 916 ms | > 1048576 KiB |
| in21.txt | MLE | 890 ms | > 1048576 KiB |
| in22.txt | MLE | 911 ms | > 1048576 KiB |
| in23.txt | MLE | 913 ms | > 1048576 KiB |
| in24.txt | MLE | 889 ms | > 1048576 KiB |
| in25.txt | MLE | 908 ms | > 1048576 KiB |
| in26.txt | MLE | 910 ms | > 1048576 KiB |
| in27.txt | AC | 1 ms | 3520 KiB |
| in28.txt | AC | 10 ms | 7432 KiB |
| in29.txt | AC | 1 ms | 3536 KiB |
| in30.txt | AC | 1 ms | 3436 KiB |
| in31.txt | MLE | 923 ms | > 1048576 KiB |
| in32.txt | MLE | 891 ms | > 1048576 KiB |
| in33.txt | AC | 1 ms | 3604 KiB |
| in34.txt | AC | 1 ms | 3436 KiB |
| in35.txt | AC | 1 ms | 3544 KiB |
| in36.txt | AC | 1 ms | 3632 KiB |
| in37.txt | AC | 1 ms | 3556 KiB |
| in38.txt | AC | 1 ms | 3672 KiB |
| in39.txt | AC | 1 ms | 3644 KiB |
| in40.txt | AC | 645 ms | 428644 KiB |
| in41.txt | AC | 1 ms | 3624 KiB |
| in42.txt | AC | 1 ms | 3656 KiB |
| in43.txt | MLE | 877 ms | > 1048576 KiB |
| in44.txt | MLE | 889 ms | > 1048576 KiB |
| in45.txt | MLE | 885 ms | > 1048576 KiB |
| in46.txt | MLE | 878 ms | > 1048576 KiB |
| in47.txt | MLE | 880 ms | > 1048576 KiB |
| in48.txt | MLE | 884 ms | > 1048576 KiB |
| in49.txt | MLE | 878 ms | > 1048576 KiB |
| in50.txt | MLE | 882 ms | > 1048576 KiB |
| in51.txt | MLE | 877 ms | > 1048576 KiB |
| in52.txt | MLE | 881 ms | > 1048576 KiB |
| in53.txt | MLE | 877 ms | > 1048576 KiB |
| in54.txt | MLE | 880 ms | > 1048576 KiB |
| in55.txt | AC | 643 ms | 428604 KiB |
| in56.txt | MLE | 886 ms | > 1048576 KiB |
| in57.txt | AC | 1 ms | 3472 KiB |
| in58.txt | AC | 1 ms | 3572 KiB |
| in59.txt | AC | 1 ms | 3516 KiB |
| in60.txt | AC | 1 ms | 3524 KiB |
| in61.txt | AC | 1 ms | 3644 KiB |
| in62.txt | AC | 1 ms | 3584 KiB |
| in63.txt | AC | 1 ms | 3644 KiB |
| in64.txt | AC | 1 ms | 3536 KiB |
| in65.txt | AC | 1 ms | 3624 KiB |
| in66.txt | AC | 1 ms | 3632 KiB |
| in67.txt | AC | 1 ms | 3436 KiB |
| in68.txt | AC | 1 ms | 3524 KiB |
| in69.txt | MLE | 890 ms | > 1048576 KiB |
| in70.txt | MLE | 896 ms | > 1048576 KiB |
| in71.txt | AC | 1 ms | 3644 KiB |
| in72.txt | AC | 1 ms | 3556 KiB |
| in73.txt | AC | 1 ms | 3524 KiB |
| in74.txt | AC | 1 ms | 3572 KiB |
| in75.txt | MLE | 885 ms | > 1048576 KiB |
| in76.txt | MLE | 896 ms | > 1048576 KiB |
| sample01.txt | AC | 1 ms | 3576 KiB |
| sample02.txt | AC | 1 ms | 3472 KiB |
| sample03.txt | AC | 1 ms | 3572 KiB |