Submission #1291312
Source Code Expand
#include<cstdio> #include<vector> using namespace std; using vi=vector<int>; using vvi=vector<vi>; int min_u(int& m, int v) { if(m>v) { m=v; return 1; } return 0; } int main(void) { int n, k; vi a, h, c; while(scanf("%d%d", &n, &k)==2) { h.clear(); h.resize(n+1, 2000000000); c=h; a.resize(n); for(int i=0;i<n;i++) scanf("%d", &a[i]); c[0]=0; h[0]=a[0]; for(int i=1;i<n;i++) { for(int j=i-1;j>=0;j--) { int ht=max(h[j]+1, a[i]); if(min_u(c[j+1], c[j]+ht-a[i])) { h[j+1]=ht; } } } printf("%d\n", c[k-1]); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Buildings are Colorful! |
User | myanta |
Language | C++14 (GCC 5.4.1) |
Score | 90 |
Code Size | 646 Byte |
Status | WA |
Exec Time | 1 ms |
Memory | 256 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:33:42: 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("%d", &a[i]); ^
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 120 | 90 / 90 | 0 / 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 | 256 KB |
sub0_in2.txt | AC | 1 ms | 256 KB |
sub1_in1.txt | WA | 1 ms | 256 KB |
sub1_in2.txt | WA | 1 ms | 256 KB |
sub2_in1.txt | AC | 1 ms | 256 KB |
sub2_in2.txt | AC | 1 ms | 256 KB |
sub2_in3.txt | AC | 1 ms | 256 KB |
sub3_in1.txt | WA | 1 ms | 256 KB |
sub3_in2.txt | WA | 1 ms | 256 KB |