sa1378
جمعه 09 آبان 1393, 10:43 صبح
سلام
این کد من که برای این مساله (http://codeforces.com/contest/474/problem/B) زدم درست هست و اجرا میشه ولی سایت میگه ران تایم ارور داره
چرا؟
#include <iostream>
#include <vector>
#define N (100*1000 + 100)
using namespace std;
int piles,a[N],juicy,num[N],sum[N],mark[N*10],low,high,point;
void input() //CORRECT
{
cin>>piles;
for(int i=0;i<piles;i++)
cin>>a[i];
cin>>juicy;
for(int i=0;i<juicy;i++)
cin>>num[i];
}
void prp() //CORRECT
{
sum[0]=a[0];
for(int i=1;i<piles;i++)
sum[i]=sum[i-1]+a[i];
high=sum[0];
point=1;
for(int i=0;high<=sum[piles-1];i++)
{
if(i>high)
{
point++;
high=sum[point-1];
}
mark[i]=point;
}
}
void output()
{
for(int i=0;i<juicy;i++)
{
cout<<mark[num[i]]<<"\n";
}
}
int main() {
input();
prp();
output();
return 0;
}
راستی کد من 5mb حافظه گرفته ولی یه کد دسدم که 30mb حافظه گرفته بود و اکسپت شده بود
این کد من که برای این مساله (http://codeforces.com/contest/474/problem/B) زدم درست هست و اجرا میشه ولی سایت میگه ران تایم ارور داره
چرا؟
#include <iostream>
#include <vector>
#define N (100*1000 + 100)
using namespace std;
int piles,a[N],juicy,num[N],sum[N],mark[N*10],low,high,point;
void input() //CORRECT
{
cin>>piles;
for(int i=0;i<piles;i++)
cin>>a[i];
cin>>juicy;
for(int i=0;i<juicy;i++)
cin>>num[i];
}
void prp() //CORRECT
{
sum[0]=a[0];
for(int i=1;i<piles;i++)
sum[i]=sum[i-1]+a[i];
high=sum[0];
point=1;
for(int i=0;high<=sum[piles-1];i++)
{
if(i>high)
{
point++;
high=sum[point-1];
}
mark[i]=point;
}
}
void output()
{
for(int i=0;i<juicy;i++)
{
cout<<mark[num[i]]<<"\n";
}
}
int main() {
input();
prp();
output();
return 0;
}
راستی کد من 5mb حافظه گرفته ولی یه کد دسدم که 30mb حافظه گرفته بود و اکسپت شده بود