fork(1) download
  1. #include <stdio.h>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n;
  8. scanf("%d",&n);
  9.  
  10. vector <vector <int> > val;
  11.  
  12.  
  13. int size=0;
  14. for(int i=0;i<n;i++)
  15. {
  16.  
  17. scanf("%d",&size);
  18. int temp;
  19. vector <int> cur;
  20. for(int j=0;j<size;j++)
  21. {
  22. scanf("%d",&temp);
  23. cur.push_back(temp);
  24. }
  25. val.push_back(cur);
  26. }
  27.  
  28.  
  29. int ind[n];
  30. for(int i=0;i<n;i++)ind[i]=0;
  31.  
  32. int ans=0;
  33. int prev=-1;
  34. int done = false;
  35.  
  36. while(!done)
  37. {
  38. done = true;
  39. int min =-1;
  40. int cur=-1;
  41. for(int i=0;i<n;i++)
  42. {
  43. if(ind[i]<val[i].size())
  44. {
  45. done = false;
  46. if(min==-1)
  47. {
  48. min = val[i][ind[i]];
  49. cur =i;
  50. // ind[i]++;
  51. }
  52. else
  53. {
  54. if(val[i][ind[i]]<min){min = val[i][ind[i]];cur=i;}
  55.  
  56. }
  57.  
  58. }
  59. }
  60.  
  61. if(!done)
  62. {
  63. // prev = cur;
  64. if(ind[cur]==val[cur].size()-1)
  65. {
  66. if(prev!=cur)ans++;
  67. }
  68. else
  69. {
  70. if(prev!=cur)ans+=2;
  71. }
  72. }
  73. }
  74.  
  75. printf("sum - %d\n",ans);
  76.  
  77. // for(int i=0;i<n;i++)
  78. // {
  79. // for(int j=0;j<val[i].size();j++)
  80. // {
  81. // printf("%d ",val[i][j]);
  82. // }
  83. // printf("\n");
  84. // }
  85.  
  86. return 0;
  87. }
Time limit exceeded #stdin #stdout 5s 2876KB
stdin
2
3 1 2 4
2 3 5
stdout
Standard output is empty