fork download
  1. #include <iostream>
  2. #include <numeric>
  3. #include <iomanip>
  4. #include <cmath>
  5. #include <climits>
  6. #include <vector>
  7. #include <algorithm>
  8. using namespace std;
  9.  
  10. const int MOD = (int)(1e9 + 7);
  11.  
  12. bool isPrime(long long n) {
  13. for (long long i = 2;i * i <= n;i++) {
  14. if (n % i == 0) {
  15. return false;
  16. }
  17. }
  18. return n >= 2;
  19. }
  20.  
  21. int main() {
  22. int n;cin >> n;
  23. vector<int> v;
  24. for (int i = 1;i <= n;i++) {
  25. int value;cin >> value;
  26. v.push_back(value);
  27. }
  28. int current_length = 0, max_length = 0;
  29. int current_sum = 0, max_sum = 0;
  30. int index = -1;
  31.  
  32. for (int i = 0;i < n;i++) {
  33. if (isPrime(v[i])) {
  34. current_length++;
  35. current_sum += v[i];
  36. }
  37. else {
  38. current_length = 0;
  39. current_sum = 0;
  40. }
  41. if (current_length > max_length) {
  42. max_length = current_length;
  43. max_sum = current_sum;
  44. index = i - max_length + 1;
  45. }
  46. else if (current_length==max_length) {
  47. if (current_sum > max_sum) {
  48. max_length = current_length;
  49. max_sum = current_sum;
  50. index = i - max_length + 1;
  51. }
  52. }
  53. }
  54.  
  55. if (index == -1) {
  56. cout << "NOT FOUND";
  57. }
  58. else {
  59. cout << max_length << endl;
  60. for (int i = 0;i < max_length;i++) {
  61. cout << v[index + i] << " ";
  62. }
  63. }
  64. return 0;
  65. }
  66.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
NOT FOUND