fork(3) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5. typedef long double ld;
  6. typedef vector<int> vi;
  7. typedef vector<vi> vvi;
  8. typedef vector<ll> vl;
  9. typedef pair<int, int> pii;
  10.  
  11. #define sz(a) int((a).size())
  12. #define pb push_back
  13. #define all(c) (c).begin(),(c).end()
  14. #define present(c,x) ((c).find(x) != (c).end())
  15. #define cpresent(c,x) (find(all(c),x) != (c).end())
  16. #define vget(v) rep(i, 0, v.z) get(v[i]);
  17. #define vsort(v) sort(v.begin(), v.end())
  18. #define get(x) cin >> x
  19. #define put(x) cout << x
  20. #define pls(x) cout << x << ' '
  21. #define pln(x) cout << x << "\n"
  22. #define vget(v) rep(i, 0, v.z) get(v[i]);
  23. #define rep(i, begin, end) \
  24.   for (__typeof(end) i = (begin) - ((begin) > (end)); \
  25.   i != (end) - ((begin) > (end)); i += 1 - 2 * ((begin) > (end)))
  26. #define watch(x) cout << (#x) << " is " << (x) << endl
  27.  
  28. void fast() {
  29. ios_base::sync_with_stdio(false);
  30. cin.tie(NULL);
  31. }
  32.  
  33. int main(void){
  34. fast();
  35. int t,n,i;
  36. get(t);
  37. while(t--){
  38. get(n);
  39. vi a(n),ps(n+1,0),v(n,0);
  40. rep(i,0,n){
  41. get(a[i]);
  42. // a[i]%=n;
  43. ps[i+1]=(ps[i]+(a[i]%n))%n;
  44. }
  45.  
  46. int s,b;
  47. rep(i,0,n+1){
  48. if(v[ps[i]]){
  49. s=v[ps[i]]-1;
  50. b=i;
  51. break;
  52. }
  53. v[ps[i]]=i+1;
  54. }
  55. // rep(i,0,n+1) watch(ps[i]);
  56. // pln(s);pln(b);
  57. int x = b-s;
  58. pln(x);
  59. rep(i,s,b) pls(a[i]);
  60. cout<<"\n";
  61. }
  62. }
  63.  
Success #stdin #stdout 0s 4548KB
stdin
1
3
4 6 10
stdout
1
6