0_0_13468101_5406.cpp:1:9255: fatal error: GCC4.9.2/lib/gcc/x86_64-w64-mingw32/4.9.2/include/iostream>usin: Invalid argument
#include<iostream>using namespace std;#include<ctime>int f[302][16384];int tab[1470]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,56,57,58,60,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,88,89,90,92,96,97,98,99,100,101,102,104,105,106,108,112,113,114,116,120,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,144,145,146,147,148,149,150,152,153,154,156,160,161,162,163,164,165,166,168,169,170,172,176,177,178,180,184,192,193,194,195,196,197,198,200,201,202,204,208,209,210,212,216,224,225,226,228,232,240,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,275,276,277,278,280,281,282,284,288,289,290,291,292,293,294,296,297,298,300,304,305,306,308,312,320,321,322,323,324,325,326,328,329,330,332,336,337,338,340,344,352,353,354,356,360,368,384,385,386,387,388,389,390,392,393,394,396,400,401,402,404,408,416,417,418,420,424,432,448,449,450,452,456,464,480,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,536,537,538,540,544,545,546,547,548,549,550,552,553,554,556,560,561,562,564,568,576,577,578,579,580,581,582,584,585,586,588,592,593,594,596,600,608,609,610,612,616,624,640,641,642,643,644,645,646,648,649,650,652,656,657,658,660,664,672,673,674,676,680,688,704,705,706,708,712,720,736,768,769,770,771,772,773,774,776,777,778,780,784,785,786,788,792,800,801,802,804,808,816,832,833,834,836,840,848,864,896,897,898,900,904,912,928,960,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1040,1041,1042,1043,1044,1045,1046,1048,1049,1050,1052,1056,1057,1058,1059,1060,1061,1062,1064,1065,1066,1068,1072,1073,1074,1076,1080,1088,1089,1090,1091,1092,1093,1094,1096,1097,1098,1100,1104,1105,1106,1108,1112,1120,1121,1122,1124,1128,1136,1152,1153,1154,1155,1156,1157,1158,1160,1161,1162,1164,1168,1169,1170,1172,1176,1184,1185,1186,1188,1192,1200,1216,1217,1218,1220,1224,1232,1248,1280,1281,1282,1283,1284,1285,1286,1288,1289,1290,1292,1296,1297,1298,1300,1304,1312,1313,1314,1316,1320,1328,1344,1345,1346,1348,1352,1360,1376,1408,1409,1410,1412,1416,1424,1440,1472,1536,1537,1538,1539,1540,1541,1542,1544,1545,1546,1548,1552,1553,1554,1556,1560,1568,1569,1570,1572,1576,1584,1600,1601,1602,1604,1608,1616,1632,1664,1665,1666,1668,1672,1680,1696,1728,1792,1793,1794,1796,1800,1808,1824,1856,1920,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2064,2065,2066,2067,2068,2069,2070,2072,2073,2074,2076,2080,2081,2082,2083,2084,2085,2086,2088,2089,2090,2092,2096,2097,2098,2100,2104,2112,2113,2114,2115,2116,2117,2118,2120,2121,2122,2124,2128,2129,2130,2132,2136,2144,2145,2146,2148,2152,2160,2176,2177,2178,2179,2180,2181,2182,2184,2185,2186,2188,2192,2193,2194,2196,2200,2208,2209,2210,2212,2216,2224,2240,2241,2242,2244,2248,2256,2272,2304,2305,2306,2307,2308,2309,2310,2312,2313,2314,2316,2320,2321,2322,2324,2328,2336,2337,2338,2340,2344,2352,2368,2369,2370,2372,2376,2384,2400,2432,2433,2434,2436,2440,2448,2464,2496,2560,2561,2562,2563,2564,2565,2566,2568,2569,2570,2572,2576,2577,2578,2580,2584,2592,2593,2594,2596,2600,2608,2624,2625,2626,2628,2632,2640,2656,2688,2689,2690,2692,2696,2704,2720,2752,2816,2817,2818,2820,2824,2832,2848,2880,2944,3072,3073,3074,3075,3076,3077,3078,3080,3081,3082,3084,3088,3089,3090,3092,3096,3104,3105,3106,3108,3112,3120,3136,3137,3138,3140,3144,3152,3168,3200,3201,3202,3204,3208,3216,3232,3264,3328,3329,3330,3332,3336,3344,3360,3392,3456,3584,3585,3586,3588,3592,3600,3616,3648,3712,3840,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,4112,4113,4114,4115,4116,4117,4118,4120,4121,4122,4124,4128,4129,4130,4131,4132,4133,4134,4136,4137,4138,4140,4144,4145,4146,4148,4152,4160,4161,4162,4163,4164,4165,4166,4168,4169,4170,4172,4176,4177,4178,4180,4184,4192,4193,4194,4196,4200,4208,4224,4225,4226,4227,4228,4229,4230,4232,4233,4234,4236,4240,4241,4242,4244,4248,4256,4257,4258,4260,4264,4272,4288,4289,4290,4292,4296,4304,4320,4352,4353,4354,4355,4356,4357,4358,4360,4361,4362,4364,4368,4369,4370,4372,4376,4384,4385,4386,4388,4392,4400,4416,4417,4418,4420,4424,4432,4448,4480,4481,4482,4484,4488,4496,4512,4544,4608,4609,4610,4611,4612,4613,4614,4616,4617,4618,4620,4624,4625,4626,4628,4632,4640,4641,4642,4644,4648,4656,4672,4673,4674,4676,4680,4688,4704,4736,4737,4738,4740,4744,4752,4768,4800,4864,4865,4866,4868,4872,4880,4896,4928,4992,5120,5121,5122,5123,5124,5125,5126,5128,5129,5130,5132,5136,5137,5138,5140,5144,5152,5153,5154,5156,5160,5168,5184,5185,5186,5188,5192,5200,5216,5248,5249,5250,5252,5256,5264,5280,5312,5376,5377,5378,5380,5384,5392,5408,5440,5504,5632,5633,5634,5636,5640,5648,5664,5696,5760,5888,6144,6145,6146,6147,6148,6149,6150,6152,6153,6154,6156,6160,6161,6162,6164,6168,6176,6177,6178,6180,6184,6192,6208,6209,6210,6212,6216,6224,6240,6272,6273,6274,6276,6280,6288,6304,6336,6400,6401,6402,6404,6408,6416,6432,6464,6528,6656,6657,6658,6660,6664,6672,6688,6720,6784,6912,7168,7169,7170,7172,7176,7184,7200,7232,7296,7424,7680,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8208,8209,8210,8211,8212,8213,8214,8216,8217,8218,8220,8224,8225,8226,8227,8228,8229,8230,8232,8233,8234,8236,8240,8241,8242,8244,8248,8256,8257,8258,8259,8260,8261,8262,8264,8265,8266,8268,8272,8273,8274,8276,8280,8288,8289,8290,8292,8296,8304,8320,8321,8322,8323,8324,8325,8326,8328,8329,8330,8332,8336,8337,8338,8340,8344,8352,8353,8354,8356,8360,8368,8384,8385,8386,8388,8392,8400,8416,8448,8449,8450,8451,8452,8453,8454,8456,8457,8458,8460,8464,8465,8466,8468,8472,8480,8481,8482,8484,8488,8496,8512,8513,8514,8516,8520,8528,8544,8576,8577,8578,8580,8584,8592,8608,8640,8704,8705,8706,8707,8708,8709,8710,8712,8713,8714,8716,8720,8721,8722,8724,8728,8736,8737,8738,8740,8744,8752,8768,8769,8770,8772,8776,8784,8800,8832,8833,8834,8836,8840,8848,8864,8896,8960,8961,8962,8964,8968,8976,8992,9024,9088,9216,9217,9218,9219,9220,9221,9222,9224,9225,9226,9228,9232,9233,9234,9236,9240,9248,9249,9250,9252,9256,9264,9280,9281,9282,9284,9288,9296,9312,9344,9345,9346,9348,9352,9360,9376,9408,9472,9473,9474,9476,9480,9488,9504,9536,9600,9728,9729,9730,9732,9736,9744,9760,9792,9856,9984,10240,10241,10242,10243,10244,10245,10246,10248,10249,10250,10252,10256,10257,10258,10260,10264,10272,10273,10274,10276,10280,10288,10304,10305,10306,10308,10312,10320,10336,10368,10369,10370,10372,10376,10384,10400,10432,10496,10497,10498,10500,10504,10512,10528,10560,10624,10752,10753,10754,10756,10760,10768,10784,10816,10880,11008,11264,11265,11266,11268,11272,11280,11296,11328,11392,11520,11776,12288,12289,12290,12291,12292,12293,12294,12296,12297,12298,12300,12304,12305,12306,12308,12312,12320,12321,12322,12324,12328,12336,12352,12353,12354,12356,12360,12368,12384,12416,12417,12418,12420,12424,12432,12448,12480,12544,12545,12546,12548,12552,12560,12576,12608,12672,12800,12801,12802,12804,12808,12816,12832,12864,12928,13056,13312,13313,13314,13316,13320,13328,13344,13376,13440,13568,13824,14336,14337,14338,14340,14344,14352,14368,14400,14464,14592,14848,15360};int P,F,D,T,M;int hejiao(int k){ int ans=0; for(int i=0;i<15;i++) if(k&(1<<i)) ans++; return ans;}int suzu_to_s(int *s,int k){ int ans=0; for(int i=0;i<k;i++) { ans+=(1<<(s[i]-1)); } return ans;}int max_s(){ int ans=0; for(int i=0;i<F;i++) { ans=(ans<<1); ans+=1; } ans=(ans<<P-F); return ans;}void init(){ for(int i=0;i<302;i++) for(int j=0;j<16300;j++) f[i][j]=0;}void print(int maxl_s){ cout<<endl; for(int i=0;i<=T;i++) { for(int j=0;j<=maxl_s;j++) cout<<f[i][j]<<' '; cout<<endl; }}int main(){ while(scanf("%d%d%d%d%d",&P,&F,&D,&T,&M)!=EOF) { int maxl_s=max_s();int maxl_t=0; init(); for(int i=0;i<M;i++) { int t,s[14],k; scanf("%d%d",&t,&k); maxl_t >?=t; for(int j=0;j<k;j++) scanf("%d",s+j); int m=suzu_to_s(s,k); for(int j=0;j<1470;j++) { if(hejiao(m|tab[j])<5&&((m|tab[j])<=maxl_s)) f[t][(m|tab[j])]=1; } } if(!P) break; for(int i=1;i<=T;i++) { if(i>maxl_t) break; for(int j=0;j<1470;j++) { if(f[i][tab[j]]) { int maxl_f=0; if(tab[j]>maxl_s) break; for(int jj=0;jj<1470;jj++) { if(tab[jj]>maxl_s) break; int tt=i-D-(F-hejiao(tab[j]&tab[jj]))/2; if(tt>=0) maxl_f=max(maxl_f,f[tt][tab[jj]]); } f[i][tab[j]]+=maxl_f; if(f[i][tab[j]]==M) { f[T][0]=M; goto end; } } else { if(f[i-1][tab[j]]) f[i][tab[j]]=f[i-1][tab[j]]; } } } end: int ans=0; for(int j=0;j<=maxl_s;j++) ans >?= f[T][j]; print(maxl_s); if(ans>1) printf("%d POINTS.\n",ans); else printf("%d POINT.\n",ans); }}
|