fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n,x,y,m,d,all=0;
  4. char trash;
  5. int s[52];
  6.  
  7. int gcd(int a,int b){
  8. while(b>0){
  9. int r=a%b;
  10. a=b;
  11. b=r;
  12. }
  13. return a;
  14. }
  15.  
  16. int leap(int year){
  17. return( (year%4==0 and year%100!=0) or year%400==0 );
  18. }
  19.  
  20.  
  21. int main() {
  22. cin>>n>>x;
  23. all=x;
  24. n--;
  25. while(n--){
  26. cin>>x;
  27. all=all*x/__gcd(all,x);
  28. }
  29. cin>>y>>trash>>m>>trash>>d;
  30.  
  31. int hmd[13]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  32. d+=all;
  33. while( d>hmd[m] ){
  34. if(m==2 and leap(y) and d<=29)
  35. break;
  36. else if(m==2 and leap(y) and d>29)
  37. d-=29;
  38. else
  39. d-=hmd[m];
  40.  
  41. m++;
  42. if(m==13){
  43. m=1;
  44. y++;
  45. }
  46. }
  47.  
  48. printf("%04d/%02d/%02d",y,m,d);
  49. return 0;
  50. }
Success #stdin #stdout 0.01s 5284KB
stdin
2
4 5 
2016/02/09
stdout
2016/02/29