#include<stdio.h> #include <unistd.h> #include <sys/time.h> #include <inttypes.h> #include <time.h> #define T 15 #define N 50 #define M 10^9 #define Mod 1000000007 int main(){ struct timeval a; struct timeval b; gettimeofday(&a, 0); int t,n,m,i,j,l,r,count; uint64_t nn[N],temp[N]; while(t--){ for(i=0;i<n;i++){ temp[i]=nn[i]; } for(i=0;i<n;i++){ for(j=i,count=1;count<=m;count++,j++){ if(j==n){ j=0; } l=j-1; r=j+1; if(l<0){ l=n-1; } if(r==n){ r=0; } temp[j]+=temp[l]+temp[r]; } for(j=0;j<n;j++){ temp[j]=nn[j]; } } if(t!=0) } gettimeofday(&b, 0); int diff = b.tv_usec - a.tv_usec+ (b.tv_sec - a.tv_sec)*1000000; return 0; }
3 5 1 10 20 30 40 50 3 4 1 2 1 50 100000000 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
80 20 30 40 50 10 60 30 40 50 10 20 90 40 50 10 20 30 120 50 10 20 30 40 100 23 7 12 11 21 6 7 13 24 208961512 739158995 157205228 23769877 867486805 657618880 991769430 215942697 149165936 338291705 340482848 430208245 182721249 475173409 843486998 837746961 81336527 934079274 323609151 364336045 909935587 187751075 375182603 715019192 213334486 746634927 283259123 458376209 676507235 598707028 972679984 726756532 96519322 766175930 409786127 229524487 80674200 632092616 631453334 77056998 9571321 87249185 139805651 879010822 863078336 813838510 813272261 276231150 106338820 403744599 124080428 654022489 483680609 192604984 973741658 169638689 514453618 921979985 823171699 970276586 209469405 585232217 262951793 247619007 754311455 922751589 161406641 812508016 500693405 312707513 565207557 532040426 101655558 568898952 27392606 83102709 765595969 875884645 716668110 433168709 322225101 833764400 920302798 20730000 21868184 163298729 286914650 351723776 483692381 982876422 795588994 387459777 692087308 13844362 52135928 1275080 640110505 338215993 480949275 93332910 493161867 409396625 649416443 719086110 30020020 65838307 212574888 568760045 197736121 806715835 892683034 402342403 120511781 941029193 400022655 420474406 189741517 839198054 793502988 510954264 881331382 556349749 161522672 283608601 839467200 354455418 489522560 703330258 49952251 724993000 545482994 228716767 234409413 240428489 634167548 33992748 598172733 614585262 917684106 988518774 570080797 176913666 598042836 392052917 763747115 676064948 175141359 947162079 307496220 829973730 889295094 463018780 872834835 258861858 693257714 359083860 765702318 824769953 667906218 159734472 729685912 927162843 846177067 18541172 857793926 306697205 645153749 881700368 542366041 741340639 552217510 530535483 989158664 955753280 620359673 990223301 687723624 371564149 999948677 516091219 65563428 645947611 409181975 585104427 754887282 952441794 486557766 581472383 311976328 557162350 996200324 338651374 782223673 250986209 248715936 243481718 769670162 540880364 220915342 69794144 542388984 518644414 610997706 702524613 442385374 576734114 878259056 617169189 64148758 35638600 478814763 182385342 212604311 652761551 155257903 693517570 354232148 294802001 181379794 794720715 137836669 509372986 203750308 4371919 322437902 1986600 729528797 914269567 30145860 588638444 732131724 811940194 438041762 957353176 965444527 974182773 128812479 322860421 934492494 82885315 864183767 767592077 913551287 829893994 642971000 999898828 192892522 472804094 290977057 287686309 64754185 167355781 326115747 707572208 128880866 699901695 67977862 966693111 931131805 989769785 178108921 909968415 468390446 860795613 698033375 628589544 87757599 244391999 552170842 865557905 913389767 450224936 490539186 877025486 756727218 733998393 807474927 362112030 499699633 563142934 509573756 353978553 832290495 597841906 117513457 632965326 51574703 271264816 693571546 361030519 938993474 770227378 762969158 766123505 34261718 347131649 56069898 751832051 560295721 416435455 252190762 411850024 805756589 499838655 236125176 86631744 565185364 710824484 99966905 96024631 690128737 432652603 592083726 534801369 747674248 497576101 242781571 324622543 324616440 776382362 998394395 530295050 368967928 54109733 705098686 389270363 569420270 88584985 771235392 377201054 846041545 836315399 249798924 638002781 369631137 982510450 576238570 95048285 365781615 555456584 455111717 558811829 482600318 200706553 940081142 133149315 356280490 304113701 695129268 605493054 196299287 657974032 937067876 975096974 687884037 460760778 499835471 999727899 398510845 501826922 35655396 84905051 938157951 636948864 839899632 971167793 20323221 699598513 751552077 371683560 866908260 211811117 171211057 287771266 772478316 995703747 28018902 880463892 146235172 54774103 4604012 117090481 854686576 513325288 55704154 428601074 705603882 67937460 90586329 533816335 84884788 148215109 820271511 54989571 795141365 426214637 537025104 557302057 936515199 596132191 42744014 521821492 659535307 8285