Submission #1215886
Source Code Expand
#include<cstdio> #include<algorithm> using namespace std; typedef long long ll; int main(){ int n,k; ll a[15]; ll ans = 1000000000000; scanf("%d%d",&n,&k); for(int i=0;i<n;i++) scanf("%lld",a+i); for(int S=0;S<(1<<n);S++){ int cnt = 0; for(int j=0;j<n;j++) if((S>>j)&1) cnt++; if(cnt!=k) continue; ll h = 0; ll res = 0; for(int j=0;j<n;j++){ if((S>>j)&1){ if(h<a[j]) h = a[j]; else{ res += h - a[j] + 1; h++; } }else{ h = max(h,a[j]); } } ans = min(ans,res); } printf("%lld\n",ans); }
Submission Info
Submission Time | |
---|---|
Task | B - Buildings are Colorful! |
User | Dugong |
Language | C++14 (GCC 5.4.1) |
Score | 350 |
Code Size | 575 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 128 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:9:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&k); ^ ./Main.cpp:10:40: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for(int i=0;i<n;i++) scanf("%lld",a+i); ^
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 120 / 120 | 90 / 90 | 140 / 140 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sub0_in1.txt, sub0_in2.txt |
Subtask1 | sub1_in1.txt, sub1_in2.txt |
Subtask2 | sub2_in1.txt, sub2_in2.txt, sub2_in3.txt |
Subtask3 | sub0_in1.txt, sub0_in2.txt, sub1_in1.txt, sub1_in2.txt, sub2_in1.txt, sub2_in2.txt, sub2_in3.txt, sub3_in1.txt, sub3_in2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sub0_in1.txt | AC | 1 ms | 128 KB |
sub0_in2.txt | AC | 1 ms | 128 KB |
sub1_in1.txt | AC | 1 ms | 128 KB |
sub1_in2.txt | AC | 1 ms | 128 KB |
sub2_in1.txt | AC | 1 ms | 128 KB |
sub2_in2.txt | AC | 1 ms | 128 KB |
sub2_in3.txt | AC | 1 ms | 128 KB |
sub3_in1.txt | AC | 1 ms | 128 KB |
sub3_in2.txt | AC | 1 ms | 128 KB |