#include <iostream> #include<stdio.h> int main() { int x, j; scanf("%d", &x); int A[x][x]; char B[x]; for(int i=0;i<x;i++) for(j=0;j<x-i;j++) scanf("%d", &A[i][j]); int s=0; for (int v=0;v<x;v++) B[v]='n'; int w=0; for(int i=0;i<x-2;i++){ int min=A[i][0]; int k=0; j=1; for(j=1;j<x-i;j++) if (min>A[i][j]){min=A[i][j]; k=j;} s=s+min; if (k==w) B[i]='t'; else if (k>w && k>=2) for(int g=w;g<k;g++) if(B[g]!='t') B[g]='h';} if(A[x-2][0]<A[x-1][0]) s=s+A[x-2][0]; else s=s+A[x-1][0]; printf("%d", s); return 0;}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include<stdio.h> int main() { int x, j; scanf("%d", &x); int A[x][x]; char B[x]; for(int i=0;i<x;i++) for(j=0;j<x-i;j++) scanf("%d", &A[i][j]); int s=0; for (int v=0;v<x;v++) B[v]='n'; int w=0; for(int i=0;i<x-2;i++){ int min=A[i][0]; int k=0; j=1; for(j=1;j<x-i;j++) if (min>A[i][j]){min=A[i][j]; k=j;} s=s+min; if (k==w) B[i]='t'; else if (k>w && k>=2) for(int g=w;g<k;g++) if(B[g]!='t') B[g]='h';} if(A[x-2][0]<A[x-1][0]) s=s+A[x-2][0]; else s=s+A[x-1][0]; printf("%d", s); return 0;} |