CoolFace
Datasetpublic

FPEvalDataset/LeetCodeProblem

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes304downloads
main.ml51 linesDownload Raw Back to ocaml_tests
1 2module Main = struct3    open OUnit24 5    (* Program start *)6 7    (* Program end *)8 9    (* Test cases *)10    11let test1 _ = assert_equal 8 (minCost [1;2;1;2;1;3;3] 2)12 13let test2 _ = assert_equal 6 (minCost [1;2;1;2;1] 2)14 15let test3 _ = assert_equal 10 (minCost [1;2;1;2;1] 5)16 17let test4 _ = assert_equal 318885978 (minCost [556; 295; 236; 505; 105; 289; 147; 189; 148; 495; 184; 477; 405; 14; 117; 380; 585; 124; 22; 152; 105; 115; 407; 366; 143; 525; 274; 11; 340; 133; 298; 565; 577; 398; 283; 117; 163; 593; 535; 259; 177; 211; 340; 436; 130; 112; 148; 65; 342; 580; 361; 430; 581; 285; 378; 425; 218; 214; 592; 491; 342; 363; 94; 394; 555; 232; 308; 345; 95; 600; 412; 131; 115; 390; 170; 75; 556; 501; 391; 7; 99; 242; 576; 556; 369; 126; 55; 491; 386; 168; 587; 582; 316; 199; 171; 122; 591; 184; 299; 570; 596; 42; 545; 191; 239; 474; 115; 301; 571; 4; 214; 257; 125; 161; 596; 330; 174; 243; 360; 608; 388; 358; 300; 521; 610; 134; 385; 56; 146; 394; 29; 422; 285; 79; 156; 294; 269; 35; 371; 143; 610; 293; 403; 139; 381; 53; 35; 4; 498; 590; 451; 101; 560; 525; 11; 411; 524; 371; 352; 196; 170; 214; 236; 232; 340; 568; 283; 600; 31; 114; 115; 500; 178; 72; 372; 344; 98; 160; 36; 475; 151; 132; 560; 432; 23; 21; 130; 429; 109; 176; 582; 472; 492; 166; 595; 163; 62; 274; 223; 430; 532; 519; 239; 402; 494; 176; 197; 85; 278; 330; 502; 157; 101; 47; 122; 219; 313; 252; 432; 412; 493; 289; 535; 427; 244; 498; 561; 377; 296; 167; 502; 497; 519; 580; 339; 418; 379; 232; 41; 553; 133; 28; 242; 151; 445; 319; 526; 326; 403; 487; 449; 448; 361; 297; 110; 1; 129; 293; 20; 23; 389; 92; 37; 66; 222; 403; 155; 180; 251; 258; 530; 386; 271; 414; 477; 4; 509; 575; 56; 335; 604; 546; 426; 88; 412; 75; 245; 445; 448; 161; 535; 53; 171; 197; 456; 292; 611; 337; 321; 473; 294; 12; 113; 528; 52; 424; 24; 201; 428; 378; 71; 551; 486; 458; 279; 567; 41; 312; 374; 28; 426; 567; 280; 447; 552; 432; 516; 479; 369; 276; 465; 287; 101; 521; 177; 164; 162; 298; 472; 399; 104; 545; 562; 342; 278; 371; 115; 245; 258; 154; 248; 46; 257; 18; 360; 322; 302; 31; 593; 425; 107; 405; 290; 264; 365; 548; 400; 200; 132; 312; 257; 524; 534; 31; 545; 554; 601; 211; 472; 402; 493; 28; 583; 367; 16; 282; 565; 488; 351; 517; 503; 148; 389; 78; 14; 208; 482; 153; 80; 336; 570; 537; 1; 226; 387; 150; 394; 275; 17; 387; 577; 454; 293; 356; 548; 464; 197; 291; 47; 299; 62; 197; 278; 286; 188; 486; 601; 15; 594; 276; 160; 265; 159; 188; 119; 259; 116; 5; 521; 58; 146; 222; 610; 141; 419; 514; 324; 352; 188; 244; 80; 572; 292; 293; 62; 357; 293; 376; 100; 450; 156; 440; 84; 305; 239; 424; 419; 406; 254; 213; 558; 100; 553; 1; 113; 153; 97; 189; 101; 302; 217; 414; 407; 515; 31; 194; 158; 237; 418; 592; 387; 345; 182; 439; 505; 59; 91; 220; 428; 178; 94; 606; 122; 412; 443; 471; 363; 331; 176; 324; 502; 123; 244; 261; 385; 310; 455; 609; 213; 557; 443; 347; 428; 123; 157; 561; 286; 317; 136; 324; 565; 87; 395; 598; 529; 451; 10; 574; 540; 351; 305; 560; 427; 503; 575; 71; 70; 431; 114; 147; 0; 577; 496; 227; 447; 441; 350; 47; 500; 610; 539; 209; 514; 490; 320; 539; 515; 567; 308; 327; 74; 494; 579; 551; 420; 494; 35; 603; 9; 473; 31; 105; 353; 116; 503; 403; 163; 151; 195; 146; 544; 338; 537; 188; 132; 375; 300; 571; 396; 398; 201; 356; 603; 291; 228; 566; 53; 236; 583; 209; 241; 288] 318885581)18 19let test5 _ = assert_equal 440648356 (minCost [436; 88; 79; 214; 18; 319; 225; 299; 468; 11; 446; 320; 111; 295; 115; 449; 195; 57; 75; 493; 460; 229; 460; 75; 215; 208; 372; 255; 398; 484; 400; 265; 102; 24; 79; 384; 363; 58; 220; 256; 323; 141; 177; 80; 321; 471; 20; 219; 263; 353; 135; 127; 478; 143; 197; 431; 241; 461; 475; 36; 146; 51; 452; 336; 370; 217; 97; 92; 443; 343; 379; 378; 375; 251; 31; 246; 159; 259; 519; 33; 212; 199; 415; 230; 404; 350; 98; 37; 287; 158; 234; 7; 281; 365; 507; 380; 363; 230; 170; 159; 492; 232; 122; 98; 380; 196; 520; 480; 218; 490; 120; 453; 177; 134; 457; 199; 361; 54; 241; 416; 107; 339; 425; 249; 246; 39; 529; 48; 42; 342; 136; 128; 311; 460; 189; 150; 272; 211; 404; 358; 462; 496; 327; 102; 428; 507; 468; 170; 273; 54; 52; 444; 34; 292; 479; 262; 15; 436; 480; 226; 175; 216; 71; 501; 361; 155; 139; 200; 148; 422; 93; 383; 195; 88; 29; 251; 336; 100; 456; 291; 367; 50; 364; 409; 158; 372; 223; 470; 289; 471; 451; 359; 345; 435; 16; 360; 234; 402; 105; 5; 351; 310; 51; 39; 288; 73; 379; 306; 331; 80; 275; 217; 125; 423; 75; 334; 61; 108; 165; 11; 112; 486; 62; 85; 105; 268; 255; 76; 406; 382; 317; 528; 21; 146; 477; 349; 101; 249; 27; 198; 292; 399; 363; 316; 137; 105; 211; 166; 295; 149; 17; 165; 282; 250; 395; 396; 65; 254; 77; 402; 442; 366; 113; 336; 79; 195; 458; 233; 366; 513; 402; 352; 131; 109; 497; 149; 363; 196; 1; 46; 226; 272; 400; 349; 138; 105; 290; 149; 253; 58; 498; 47; 529; 208; 232; 296; 423; 260; 98; 253; 47; 180; 524; 94; 70; 28; 503; 18; 75; 260; 61; 425; 458; 231; 212; 190; 50; 207; 237; 414; 164; 350; 9; 409; 183; 234; 334; 158; 177; 224; 204; 273; 27; 502; 462; 337; 365; 521; 466; 319; 428; 180; 242; 266; 250; 458; 293; 19; 53; 270; 349; 13; 246; 226; 315; 53; 409; 368; 103; 364; 57; 286; 455; 320; 112; 17; 57; 137; 234; 344; 167; 529; 270; 324; 382; 4; 420; 70; 257; 444; 185; 32; 103; 261; 215; 227; 477; 431; 448; 335; 171; 165; 161; 168; 530; 409; 78; 407; 378; 412; 326; 338; 302; 106; 274; 375; 78; 44; 395; 92; 438; 75; 152; 116; 270; 332; 182; 484; 470; 142; 283; 344; 243; 183; 169; 446; 262; 425; 518; 198; 44; 383; 332; 381; 311; 434; 213; 242; 255; 530; 343; 265; 434; 229; 255; 114; 466; 477; 159; 521; 498; 8; 289; 323; 293; 527; 471; 459; 206; 431; 23; 266; 179; 66; 502; 207; 138; 286; 239; 394; 437; 60; 510; 325; 407; 197; 136; 373; 347; 441; 72; 419; 179; 305; 381; 10; 119; 288; 16; 386; 188; 241; 15; 322; 349; 181; 54; 295; 297; 335; 211; 199; 281; 397; 282; 215; 131; 7; 92; 324; 252; 201; 506; 299; 135; 98; 468; 1; 258; 377; 97; 371; 520; 426; 179; 514; 488; 238; 506; 47; 393] 440648021)20 21let test6 _ = assert_equal 930884693 (minCost [699; 277; 733; 143; 496; 112; 374; 61; 228; 297; 536; 119; 671; 314; 426; 668; 534; 58; 701; 159; 464; 119; 494; 58; 232; 271; 751; 367; 692; 473; 325; 274; 665; 688; 456; 167; 6; 484; 301; 353; 431; 86; 39; 727; 570; 14; 18; 176; 8; 234; 722; 405; 385; 396; 363; 405; 676; 586; 578; 735; 239; 368; 363; 258; 310; 278; 470; 712; 364; 753; 76; 175; 20; 634; 518; 252; 732; 679; 291; 475; 344; 405; 655; 699; 729; 543; 734; 426; 66; 1; 670; 550; 330; 175; 269; 184; 632; 605; 487; 91; 706; 743; 253; 230; 52; 609; 622; 663; 14; 8; 190; 258; 715; 38; 436; 259; 218; 489; 153; 129; 751; 30; 288; 408; 59; 79; 409; 332; 421; 391; 312; 156; 422; 13; 178; 251; 271; 325; 347; 446; 729; 187; 178; 114; 52; 428; 642; 620; 642; 618; 152; 402; 694; 671; 444; 29; 503; 482; 99; 64; 119; 575; 162; 354; 223; 365; 359; 731; 341; 36; 188; 488; 723; 398; 499; 428; 546; 87; 704; 155; 422; 87; 106; 223; 392; 399; 577; 59; 190; 725; 609; 411; 550; 611; 205; 731; 677; 85; 477; 416; 67; 440; 661; 734; 226; 457; 104; 177; 73; 109; 225; 157; 62; 442; 593; 118; 716; 514; 395; 509; 357; 130; 27; 661; 49; 433; 380; 116; 93; 651; 306; 359; 119; 466; 554; 152; 398; 425; 206; 524; 259; 334; 40; 60; 397; 431; 98; 315; 549; 214; 738; 392; 508; 429; 37; 26; 468; 197; 412; 714; 731; 17; 478; 647; 535; 689; 72; 516; 366; 682; 499; 200; 751; 441; 561; 723; 121; 253; 170; 646; 735; 10; 57; 413; 498; 520; 655; 243; 76; 672; 247; 20; 175; 472; 45; 198; 280; 316; 86; 214; 125; 192; 309; 569; 359; 504; 509; 737; 439; 609; 147; 158; 82; 319; 29; 329; 609; 724; 484; 111; 718; 221; 229; 692; 282; 458; 546; 251; 455; 700; 476; 423; 300; 166; 106; 268; 384; 372; 457; 378; 342; 617; 478; 536; 201; 394; 282; 262; 71; 207; 562; 91; 550; 165; 31; 274; 575; 478; 437; 511; 297; 737; 262; 753; 670; 240; 553; 672; 391; 281; 559; 385; 303; 109; 110; 261; 252; 738; 236; 97; 368; 564; 73; 290; 308; 296; 250; 409; 708; 744; 698; 714; 161; 712; 46; 229; 677; 529; 202; 456; 80; 2; 612; 147; 221; 634; 319; 487; 556; 78; 344; 215; 80; 150; 594; 691; 268; 565; 499; 311; 109; 276; 240; 87; 642; 341; 0; 663; 0; 132; 432; 430; 21; 502; 31; 625; 84; 273; 137; 752; 261; 657; 469; 253; 255; 53; 28; 520; 79; 386; 314; 93; 129; 51; 126; 672; 365; 55; 400; 90; 201; 381; 628; 249; 237; 179; 671; 59; 235; 502; 198; 204; 502; 199; 592; 568; 45; 586; 37; 697; 179; 640; 513; 517; 310; 213; 85; 500; 148; 438; 128; 350; 242; 381; 657; 299; 451; 509; 494; 380; 161; 26; 690; 347; 7; 510; 94; 696; 46; 43; 177; 345; 625; 678; 31; 588; 668; 744; 253; 552; 281; 390; 151; 168; 722; 529; 187; 123; 613; 593; 2; 429; 517; 7; 612; 273; 280; 367; 625; 218; 711; 143; 196; 38; 132; 222; 714; 4; 76; 97; 554; 112; 262; 657; 350; 278; 702; 282; 717; 426; 320; 218; 87; 743; 100; 125; 463; 370; 127; 571; 699; 214; 703; 201; 480; 115; 81; 104; 293; 244; 90; 653; 342; 727; 200; 644; 678; 151; 331; 357; 511; 496; 736; 94; 499; 587; 13; 631; 571; 683; 9; 105; 706; 640; 617; 267; 348; 501; 33; 0; 577; 245; 669; 369; 518; 206; 34; 511; 232; 448; 283; 733; 478; 676; 586; 664; 515; 162; 509; 641; 9; 58; 442; 650; 713; 11; 249; 466; 54; 298; 137; 206; 415; 15; 199; 71; 336; 602; 410; 295; 621; 168; 262; 314; 656; 217; 696; 116; 394; 504; 59; 209; 409; 424; 713; 601; 101; 32; 602; 569; 585; 219; 141; 455; 269; 574; 506; 258; 437; 358; 294; 703; 626; 330; 467; 627; 417; 702; 13; 495; 56; 665; 454; 253; 203; 387; 524; 375; 656; 4; 436; 557; 584; 435; 236; 452; 448; 537; 713; 352; 656; 728; 632; 518; 680; 464; 489; 205; 307; 360; 30; 384; 1; 87; 743; 714; 337; 114; 303; 30; 526; 354; 80; 13; 658; 412; 220; 668; 709; 558; 192; 549; 518; 169; 327; 180; 634; 547; 180; 717; 85; 401; 121; 299] 930884210)22 23let test7 _ = assert_equal 495868784 (minCost [59; 51; 83; 114; 94; 60; 119; 97; 2; 96; 80; 13; 76; 59; 137; 89; 29; 108; 133; 100; 66; 110; 42; 131; 110; 53; 5; 139; 130; 143; 27; 30; 105; 77; 80; 125; 32; 66; 105; 112; 41; 127; 75; 15; 26; 90; 89; 83; 5; 45; 24; 56; 36; 109; 98; 25; 61; 101; 120; 115; 12; 76; 121; 26; 25; 131; 110; 35; 21; 22; 44; 97; 25; 120; 104; 101; 82; 36; 70; 84; 43; 41; 22; 53; 19; 47; 95; 53; 123; 9; 114; 119; 91; 122; 80; 80; 60; 99; 142; 145; 123; 124; 137; 124; 61; 30; 59; 133; 59; 29; 39; 127; 22; 2; 107; 31; 76; 3; 64; 106; 83; 38; 28; 32; 124; 78; 37; 40; 110; 99; 65; 21; 93; 121; 50; 16; 32; 23; 12; 131; 40; 60; 34; 36; 129; 67] 495868694)24 25let test8 _ = assert_equal 207184195 (minCost [203; 1; 252; 243; 29; 258; 14; 190; 83; 215; 8; 77; 215; 131; 168; 72; 4; 251; 147; 150; 79; 244; 125; 182; 141; 104; 147; 202; 62; 105; 95; 204; 16; 183; 165; 145; 208; 88; 90; 95; 11; 83; 228; 124; 136; 10; 49; 132; 100; 34; 75; 89; 111; 258; 95; 12; 12; 220; 59; 126; 26; 226; 110; 145; 251; 125; 53; 60; 9; 197; 224; 243; 260; 68; 117; 84; 162; 227; 130; 118; 245; 204; 139; 247; 195; 218; 194; 17; 144; 262; 152; 51; 254; 16; 204; 99; 32; 156; 67; 47; 47; 10; 216; 252; 34; 207; 202; 206; 44; 230; 37; 170; 50; 7; 130; 59; 241; 159; 68; 210; 148; 163; 245; 260; 159; 152; 51; 11; 21; 263; 155; 150; 189; 223; 142; 140; 131; 205; 74; 66; 138; 0; 172; 96; 140; 118; 89; 222; 218; 22; 174; 43; 80; 169; 88; 206; 92; 180; 252; 202; 65; 86; 130; 69; 122; 116; 214; 116; 225; 118; 188; 223; 122; 118; 113; 224; 98; 193; 39; 254; 80; 161; 204; 93; 182; 206; 84; 234; 177; 47; 74; 54; 182; 57; 146; 64; 137; 14; 161; 214; 194; 93; 106; 171; 260; 51; 114; 202; 219; 122; 149; 208; 161; 219; 36; 3; 215; 66; 114; 26; 177; 244; 65; 55; 211; 56; 50; 28; 169; 31; 39; 36; 192; 260; 148; 172; 221; 200; 84; 6; 246; 11; 75; 144; 38; 14; 49; 236; 90; 9; 74; 158; 236; 111; 159; 250; 204; 250; 94; 65; 230; 81; 41; 39] 207184027)26 27let test9 _ = assert_equal 939948968 (minCost [340; 77; 284; 344; 349; 100; 397; 234; 284; 331; 29; 59; 416; 87; 354; 250; 125; 176; 345; 286; 188; 118; 380; 324; 308; 383; 118; 210; 145; 35; 141; 233; 196; 298; 153; 221; 208; 18; 75; 142; 403; 104; 252; 248; 413; 12; 200; 167; 346; 57; 19; 392; 7; 279; 278; 331; 285; 129; 295; 300; 19; 418; 338; 370; 7; 56; 271; 116; 321; 165; 45; 413; 21; 60; 161; 271; 204; 288; 372; 67; 366; 278; 224; 205; 144; 103; 241; 27; 182; 406; 325; 238; 49; 292; 385; 57; 297; 364; 135; 173; 345; 318; 58; 29; 416; 248; 291; 333; 274; 68; 104; 89; 250; 173; 32; 323; 190; 209; 104; 81; 250; 207; 149; 60; 170; 303; 73; 215; 345; 390; 255; 233; 331; 274; 12; 172; 235; 105; 349; 294; 163; 353; 36; 227; 239; 9; 375; 118; 40; 231; 41; 406; 211; 79; 122; 105; 341; 160; 403; 162; 253; 60; 339; 22; 137; 173; 161; 21; 95; 179; 160; 62; 337; 396; 410; 325; 387; 237; 290; 31; 258; 303; 397; 239; 351; 37; 218; 60; 201; 60; 125; 330; 175; 70; 195; 297; 385; 333; 326; 157; 236; 176; 242; 222; 181; 262; 113; 404; 75; 156; 131; 406; 273; 48; 134; 6; 240; 299; 307; 52; 151; 33; 277; 344; 2; 114; 185; 266; 39; 26; 351; 77; 9; 388; 7; 183; 77; 390; 126; 145; 16; 195; 47; 116; 34; 96; 211; 376; 159; 222; 13; 242; 174; 376; 154; 255; 2; 288; 195; 355; 47; 190; 161; 3; 198; 330; 217; 46; 403; 362; 8; 77; 389; 344; 208; 293; 299; 191; 12; 183; 406; 356; 311; 33; 223; 378; 153; 271; 302; 131; 209; 99; 205; 163; 59; 84; 288; 402; 118; 286; 362; 216; 418; 344; 253; 111; 184; 128; 149; 191; 184; 47; 14; 176; 202; 331; 97; 11; 307; 324; 120; 219; 200; 103; 207; 215; 388; 10; 391; 142; 254; 383; 28; 213; 212; 63; 395; 96; 285; 182; 239; 196; 338; 259; 208; 407; 169; 107; 224; 39; 282; 22; 123; 181; 248; 384; 184; 63; 369; 138; 152; 180; 304; 418; 388; 418; 108; 73; 175; 114; 409; 175; 83; 364; 8; 39; 127; 391; 217; 282; 364; 73; 231; 105; 55; 303; 107; 387; 207; 127; 37; 344; 94; 269; 157; 252; 151; 318; 203; 153; 254; 123; 349; 235; 164; 329; 268; 355; 61; 233; 247; 86; 39; 125; 371; 415; 143; 350; 402; 59] 939948695)28 29let test10 _ = assert_equal 268851021 (minCost [176; 100; 95; 166; 175; 33; 180; 239; 7; 174; 192; 52; 235; 155; 27; 144; 202; 245; 198; 39; 44; 221; 134; 191; 226; 83; 42; 246; 137; 23; 188; 89; 185; 147; 16; 53; 12; 71; 187; 48; 202; 135; 125; 18; 122; 69; 214; 203; 162; 245; 155; 142; 92; 98; 69; 101; 31; 141; 57; 196; 20; 228; 67; 44; 9; 51; 8; 136; 161; 219; 215; 229; 115; 24; 204; 49; 227; 184; 231; 148; 79; 91; 176; 2; 59; 224; 79; 236; 4; 191; 208; 129; 137; 100; 219; 117; 187; 213; 203; 119; 147; 149; 20; 71; 46; 6; 121; 71; 205; 178; 172; 208; 220; 101; 103; 168; 18; 79; 155; 68; 208; 4; 171; 41; 17; 157; 68; 145; 213; 222; 6; 1; 85; 173; 31; 190; 68; 131; 99; 191; 64; 178; 78; 168; 23; 29; 157; 187; 57; 157; 182; 31; 190; 196; 140; 50; 114; 74; 204; 38; 147; 86; 124; 220; 98; 74; 66; 135; 23; 134; 120; 104; 90; 103; 152; 140; 26; 98; 221; 234; 82; 27; 100; 23; 196; 231; 160; 126; 112; 84; 17; 229; 26; 20; 126; 166; 53; 81; 186; 177; 132; 14; 72; 154; 72; 19; 137; 48; 6; 112; 190; 21; 155; 182; 127; 188; 107; 216; 41; 21; 100; 35; 144; 51; 119; 161; 218; 191; 95; 203; 34; 79; 32; 175; 171; 193; 114; 99; 97; 209; 123; 109; 236; 87; 181; 133; 230; 229; 107] 268850864)30 31 32    (* Grouping test cases *)33    let suite = "Test Suite for minCost" >::: [34        35  "test1" >:: test1;36  "test2" >:: test2;37  "test3" >:: test3;38  "test4" >:: test4;39  "test5" >:: test5;40  "test6" >:: test6;41  "test7" >:: test7;42  "test8" >:: test8;43  "test9" >:: test9;44  "test10" >:: test10;45    ]46 47 48    (* Running the tests *)49    let () = run_test_tt_main suite50end51