| Task: | putnik |
| Sender: | zxc |
| Submission time: | 2016-08-01 15:43:45 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 100 |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | ACCEPTED | 0.06 s | details |
| #3 | ACCEPTED | 0.06 s | details |
| #4 | ACCEPTED | 0.05 s | details |
| #5 | ACCEPTED | 0.05 s | details |
| #6 | ACCEPTED | 0.06 s | details |
| #7 | ACCEPTED | 0.21 s | details |
| #8 | ACCEPTED | 0.21 s | details |
Code
#include <bits/stdc++.h>
using namespace std;
const int MN = 2222;
int dp[MN][MN];
int dist[MN][MN];
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin>>n;
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
cin>>dist[i][j];
dp[i][j] = 1e9;
}
}
dp[0][0] = 0;
int ans = 1e9;
for(int i = 0; i < n-1; ++i) {
for(int j = 0; j < n-1;++j) {
int ma = max(i, j)+1;
dp[ma][j] = min(dp[ma][j], dp[i][j]+dist[i][ma]);
dp[i][ma] = min(dp[i][ma], dp[i][j]+dist[j][ma]);
if(ma == n-1) {
ans = min(ans, dp[ma][j]);
ans = min(ans, dp[i][ma]);
}
}
}
cout<<ans<<'\n';
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 3
0 5 2 5 0 4 2 4 0 |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 4
0 15 7 8 15 0 16 9 7 16 0 12 8 9 12 0 |
| correct output |
|---|
| 31 |
| user output |
|---|
| 31 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 5
0 929 320 220 170 929 0 16 856 166 320 16 0 989 554 220 856 989 0 695 ... |
| correct output |
|---|
| 1719 |
| user output |
|---|
| 1719 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 8
0 506 801 997 312 671 746 780 506 0 634 349 891 378 259 767 801 634 0 806 899 355 545 800 997 349 806 0 780 454 434 962 ... |
| correct output |
|---|
| 3214 |
| user output |
|---|
| 3214 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 16
0 432 752 452 683 655 785 402 ... |
| correct output |
|---|
| 4696 |
| user output |
|---|
| 4696 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 300
0 118 579 90 535 606 866 184 1... |
| correct output |
|---|
| 88301 |
| user output |
|---|
| 88301 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 1500
0 27 341 796 776 497 727 796 5... |
| correct output |
|---|
| 440136 |
| user output |
|---|
| 440136 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 1499
0 674 891 871 992 186 562 169 ... |
| correct output |
|---|
| 426711 |
| user output |
|---|
| 426711 |
