用户:
积极的训练师tPUK查看:107 回复:11 评论:13 创建时间:2021-07-31T16:29:53
#include<bits/stdc++.h>
#include<queue>
using namespace std;
int sum=0,n,k;
int main()
{
cin>>n>>k;int nn=n;
for(int i=1;i<=k+1;i++){
int a;cin>>a;
if(nn<a){
cout<<"No Solution";
sum=-1;break;
}else{
if(n-a>=0){
n=n-a;
}else{
n=nn;n-=a;sum++;
}
}
}
if(sum>=0) cout<<sum;
}
只会咕咕咕的鸽子希一我只想知道这玩意怎么超时的(哭)
#include <bits/stdc++.h> using namespace std; int n, k, ans; int a[1005]; int main() { cin >> n >> k; for(int i = 1; i <= k + 1; i++) cin >> a[i]; int cnt = 0; for(int i = 1; i <= k + 1; i++) { cnt += a[i]; if(cnt >= k) ans++, cnt -= a[i], i--; } cout << ans << endl; return0; }点赞0
评论
哈哈哈哈c我看看
样例都过不了 试试读一个加一个 然后 少了一种情况!!!!!
踹()
只会咕咕咕的鸽子希一#include <bits/stdc++.h>
using namespace std;
int n, k, ans;
int a[1005];
int main() {
cin >> n >> k;
for(int i = 1; i <= k + 1; i++) cin >> a[i];
int cnt = 0;
for(int i = 1; i <= k + 1; i++) {
cnt += a[i];
if(cnt >= n) ans++, cnt = 0, i--;
if(i == k + 1 && cnt >= n) {cout << "No Solution!" << endl; return 0;}
}
cout << ans << endl;
return 0;
}
现在样例可以过了但是无解判断不了(哭)
点赞0
评论
cnt 如果是当前油量 刚出站时 油量是满的 所以减法更适合 如果是加法>=n时 那不就No Solution(油不够用 加法不能体现中间油不够 no solution 可能是中间的路程太远导致的
大于等于打不出来...
只会咕咕咕的鸽子希一WA70分QAQ
#include <bits/stdc++.h>
using namespace std;
int n, k, ans;
int a[1005];
int main() {
cin >> n >> k;
for(int i = 1; i <= k + 1; i++) cin >> a[i];
int cnt = 0;
for(int i = 1; i <= k + 1; i++) {
cnt += a[i];
if(a[i] >= n) {cout << "No Solution!" << endl; return 0;}
if(cnt >= n) ans++, cnt = 0, i--;
}
cout << ans << endl;
return 0;
}点赞0
评论
no solution没加感叹号 不愧是你哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
喵喵加了感叹号