CSES - Leirikisa 4 - Results
Submission details
Task:putnik
Sender:zxc
Submission time:2016-08-01 15:43:45 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.21 sdetails
#8ACCEPTED0.21 sdetails

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