Advertisement
Guest User

Untitled

a guest
Aug 26th, 2013
425
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cstdlib>
  5. #include <vector>
  6. #include <stack>
  7. #include <queue>
  8. #include <cmath>
  9. #include <cstring>
  10. #include <string>
  11. #include <map>
  12. #include <set>
  13. #include <list>
  14. #include <deque>
  15. #define FOR(i,a,b) for (int i=(a),_b=(b);i<=_b;i++)
  16. #define DOWFOR(i,a,b) for (int i=(a),_b=(b);i>=_b;i--)
  17. #define mp make_pair
  18. #define pb push_back
  19. #define reset(c,x) memset(c,x,sizeof(c))
  20. #define oo 1000000000
  21. using namespace std;
  22. char s[100];
  23. int m,res[10000],sl=0,w[20],t=0,sum[2];
  24. bool ok;
  25. void duyet(int x)
  26. {
  27. if (sl>=m&&ok==false)
  28. {
  29. printf("YES\n");
  30. FOR(i,1,m)
  31. printf("%d ",res[i]);
  32. ok=true;
  33. return;
  34. }
  35. if (ok==false)
  36. FOR(i,1,t)
  37. if (ok==false)
  38. {
  39. if (w[i]!=res[sl])
  40. if (w[i]+sum[x%2]>sum[(x+1)%2])
  41. {
  42. sl++;
  43. res[sl]=w[i];
  44. sum[x%2]+=(w[i]);
  45. // cout<<sl<<" "<<sum[x%2]<<" "<<sum[(x+1)%2]<<endl;
  46. duyet(x+1);
  47. sl--;
  48. sum[x%2]-=(w[i]);
  49. }
  50. }
  51. else
  52. break;
  53. return ;
  54. }
  55. int main()
  56. {
  57. // freopen("input.txt","r",stdin);
  58. // freopen("output.txt","w",stdout);
  59. gets(s);
  60. scanf("%d",&m);
  61. reset(w,0);
  62. reset(res,0);
  63. FOR(i,0,strlen(s)-1)
  64. if (s[i]=='1')
  65. {
  66. t++;
  67. w[t]=i+1;
  68. }
  69. // FOR(i,1,t)
  70. // cout<<w[i]<<endl;
  71. if (t<1)
  72. {
  73. printf("NO");
  74. return 0;
  75. }
  76. sum[0]=0;
  77. sum[1]=w[1];
  78. sl=1;
  79. ok=false;
  80. FOR(i,1,t)
  81. if (ok==false)
  82. {
  83.  
  84. sum[0]=0;
  85. sum[1]=w[i];
  86. res[1]=w[i];
  87. sl=1;
  88. duyet(2);
  89. }
  90. else
  91. {
  92. break;
  93. }
  94. if (ok==false)
  95. {
  96. printf("NO");
  97. return 0;
  98. }
  99. return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement