Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. FILE *fin = fopen("testdata.in", "r");
  5.  
  6. int ntc = 0;
  7.  
  8. fscanf(fin, "%d", &ntc);
  9.  
  10. for (int tc = 0; tc < ntc; tc++) {
  11. int stack = 0;
  12. int blocks[105];
  13. int luas = 0;
  14. int keliling = 0;
  15. int tmpFirstBlock = 0;
  16. int tmpRightBlock = 0;
  17. int index = 1;
  18.  
  19. fscanf(fin, "%d", &stack);
  20.  
  21. for (int i = 0; i < stack; i++) {
  22. fscanf(fin, "%d", &blocks[i]);
  23.  
  24. luas += 4 * blocks[i];
  25. }
  26.  
  27. tmpFirstBlock = blocks[0];
  28. keliling += stack + blocks[0] + blocks[stack - 1] + stack;
  29. // printf("%d\n", keliling);
  30.  
  31. for (int i = 1; i < stack - 1; i++) {
  32. tmpFirstBlock -= blocks[i];
  33. keliling += tmpFirstBlock;
  34. }
  35. // printf("%d\n", keliling);
  36.  
  37. tmpRightBlock = blocks[stack - 2] - blocks[stack - 1];
  38.  
  39. if (tmpRightBlock < 0) {
  40. keliling += tmpRightBlock * - 1;
  41. } else {
  42. keliling += tmpRightBlock;
  43. }
  44. // printf("%d\n", keliling);
  45.  
  46. printf("Case #%d: %d %d\n", tc + 1, keliling * 2, luas);
  47. }
  48.  
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement